기술자료

DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.

DB2 for Linux, UNIX and Windows용 DB2 Performance Expert를 성공적으로 전개하기 위한 6가지 주요 팁, Part 2: 성능 기준 설정, DB2 Workload Manager 사용 및 파티

기술자료
DBMS별 분류
DB2
작성자
admin
작성일
2021-02-23 14:30
조회
1117

DB2 for Linux, UNIX and Windows용 DB2 Performance Expert를 성공적으로 전개하기 위한 6가지 주요 팁, Part 2:성능 기준 설정, DB2 Workload Manager 사용 및 파티셔닝된 환경 모니터링

성능 모니터링 및 조정은 DBA(Database Administrator)의 주요 업무입니다. DB2 Performance Expert를 통해 DBA는 성능 문제점을 즉시 해결하고 미래의 문제점을 예방할 수 있습니다. 이 기사는 DB2 Performance Expert를 활용하는 데 도움이 되는 6가지 주요 팁을 설명하는 2편의 기사로 구성된 시리즈 중 두 번째 기사입니다. 성능 기준을 설정하고 DB2 Workload Manager를 활용하고 대규모 DPF 환경의 모니터링을 구성하는 방법에 대해 설명합니다.

소개

DBA에게 성능 모니터링 및 조정은 가장 까다로우면서 중요한 업무이다. 성능 문제를 즉시 해결할 뿐만 아니라 미래의 성능 문제까지도 예방하려면 종합적인 자동 성능 및 조정 도구가 필요하다. Linux, UNIX 및 Windows DB2 Performance Expert를 통해 회사의 DB2 서버 및 DB2 애플리케이션을 데이터 웨어하우징, OLTP 또는 혼합 환경에 맞게 최적화할 수 있다.이 시리즈에서는 고객과의 실제 경험을 바탕으로 선정한 DB2 Performance Expert를 활용하는 데 도움이 되는 6가지 주요 팁을 설명한다.
  • 서버 히스토리 구성의 기본 설정 변경하기
  • 경고 설정하기
  • System Health 데이터 보기 사용하기
  • 성능 기준 설정하기
  • DB2 Workload Manager 활용하기
  • 대규모 DPR 환경의 모니터링 구성하기
Part 1에서는 처음 세 가지 팁에 대해 살펴보았다. 이 Part 2에서는 DB2 Performance Expert를 활용하는 데 도움이 되는 나머지 중요한 활동에 대해 설명한다.

성능 기준 설정하기

성능 기준은 지정된 기간 동안 실행된 DB2 인스턴스의 성능에 대한 보고서이다. 이 기준은 다양한 기간 동안 실행된 DB2 인스턴스의 성능을 비교하는 데 사용할 수 있다. 이 기사에서는 단기 및 장기 히스토리 데이터를 기반으로 Performance Expert를 사용하여 기준을 설정하는 방법에 대해 설명한다.단기 히스토리 데이터를 사용하여 기준 설정하기단기 히스토리 데이터는 Statistic Detailsicon2.jpg와 같은 모니터링 패널의 히스토리 슬라이더를 사용하여 액세스할 수 있다. 예를 들어, 8월 23일 오후 2시부터 4시까지 2시간 동안 테스트를 실행한 후 테스트에 대한 성능 기준을 저장하려면 다음 단계를 수행한다.
  1. 해당 아이콘을 클릭하여 Statistic Details를 연다.
  2. 스냅샷 도구 모음에서Data > History를 클릭한 후 슬라이더를 사용하여 테스트의 시작 시간을 오후 2시로 이동한다.
  3. Processing > Delta를 선택한 후 슬라이더를 사용하여 테스트 종료 시간을 오후 4시로 이동한다. 그림 20에서는 이 도구 모음을 보여 준다.
그림 20. 기준 시간 범위 선택하기
Fig20.jpg사용자가 요청한 정확히 두 시간 동안의 성능 측정 결과가 Performance Expert에 표시된다. 이 결과가 바로 기준이다. 이 결과를 보면 두 시간 동안 읽은 행 수 및 발생한 정렬 수와 같은 정보를 확인할 수 있다.참고: 스냅샷 카운터유형의 성능 측정 결과만 델타 모드로 계산된다.스냅샷 게이지또는스냅샷 정보유형의 성능 측정 결과는 델타 모드로 계산되지 않는다. 카운터의 유형을 보려면 해당 값을 클릭하고F1을 누른다. 그러면 카운터에 대한 설명이 포함된 Help 창이 열린다.패널의 도표에 표시되는 타임프레임은 스냅샷 도구 모음의 델타 처리를 위해 지정한 타임프레임과는 별개이다. 도표의 타임프레임은 도표 오른쪽에 있는 + 및-단추를 사용하여 지정할 수 있다. 트리 형태로 데이터를 보려면 다음 단계를 수행한다.
  1. Databases, Bufferpools, Tables, Table Spaces또는 원하는 항목을 클릭한다.
  2. Tables또는Dynamic SQL Statements를 선택한 경우에는Receive statement cache information을 추가로 선택해야 데이터를 볼 수 있다. 테이블 스냅샷과 동적 SQL 스냅샷은 다른 스냅샷에 비해 확장된 스냅샷이기 때문에 온라인 모드에서 실행할 경우 모니터링되는 인스턴스의 정보를 가져오는 데 시간이 걸릴 수 있다. 따라서 이 데이터는 명시적으로 요청해야 한다.
  3. 이 기준을 영구적으로 유지하려면Statistic Details > Print/Export를 선택한다. 전체 데이터를 인쇄하거나 내보내려면 그림 21과 같이 Print range를All로 선택하고 Columns을All로 선택한 후 Rows도All로 선택한다.
  4. OK를 클릭한다.

그림 21. Print/Export 옵션

Fig21.jpg이제 저장할 수 있는 HTML 보고서가 열린다. 보고서에 적용된 기간을 나중에 쉽게 알아볼 수 있도록 파일 이름에 날짜와 기간을 포함시킨다. 선택한 Print range 옵션에 따라 출력되는 내용이 달라진다.몇 가지 기준 보고서를 자세히 살펴보자. 예를 들어, 그림 22에서는 테스트 중에 데이터베이스에 대해 실행된 SQL Activity와 관련된 통계를 보여 준다.그림 22. SQL Activity 통계의 기준
Fig22.jpg그림 23과 24에서는 테스트 중에 사용된 테이블과 명령문을 보여 준다. 각 테이블에 대해 테스트 중에 사용된 정보를 볼 수 있다(예: 읽은 행 수 또는 작성된 행 수).그림 23. 사용된 테이블 기준
Fig23.jpg그림 24. 실행된 명령문 기준
Fig24.jpg각 명령문에 대해서도 테스트 중에 명령문이 실행된 빈도나 경과된 또는 평균 실행 시간과 같은 실행 세부 사항을 볼 수 있다. 명령문, 테이블 또는 버퍼풀을 실행 시간과 같은 특정 측정 결과를 기준으로 정렬하려면 Print/Export를 요청하기 전에 열 머리글을 클릭하여 정보를 정렬할 수 있다.또한 Print/Export를 요청하기 전에icon5.jpg중 해당 아이콘을 클릭하여 필터 옵션을 사용하거나 열을 사용자 정의할 수 있다.특정 오브젝트에 대한 추가 세부 사항(예: 버퍼풀)을 인쇄/내보내기하려면 버퍼풀을 두 번 클릭한 후 현재 활성화된 탭에 적용되는Print/Export메뉴를 선택한다.

장기 히스토리 데이터를 사용하여 기준 설정하기

Performance Warehouse 아이콘icon6.jpg을 클릭하여 Performance Warehouse를 통해 장기 히스토리 데이터에 액세스할 수 있다. 또는 Statistic Details를 사용하여 그래픽 형식으로 경향 및 경향 예측을 포함한 장기 히스토리 데이터에 액세스할 수도 있다. 이러한 그래프의 Print/Export 기능을 사용하는 방법은 다음과 같다.
  1. 버퍼풀의 성능 측정 결과(예: Bufferpool Hit Ratio)를 마우스 오른쪽 단추로 클릭한다.
  2. Analyze Performance Warehouse Data를 선택한다. 그래픽 보기, 경향 및 경향 예측이 포함된 탭이 열린다.
  3. 단추를 사용하여 기간을 지정한다.
  4. Print/Export를 선택한다.
Performance Warehouse에서 Process 기능을 사용하여 장기 데이터에 대한 스케줄된 보고서를 작성하거나 쿼리 또는 규칙을 사용하여 데이터를 분석할 수 있다. 여기에서는 기준 설정을 위해 보고서 생성을 중심으로 설명한다.보고서 생성은 일종의 프로세스이며 그 이유는 다음과 같다.
  • 보고서 생성을 스케줄할 수 있다. 예를 들어, 월요일 아침마다 지난 주의 데이터베이스 보고서를 생성할 수 있다.
  • 대부분의 보고서의 경우 장기 히스토리 데이터가 PWH(Performance Warehouse)에서 자동으로 제공된다. 이러한 데이터(데이터베이스, 버퍼풀, OS 데이터)는 단기 히스토리의 PWH 테이블에 백그라운드로 집계된다. 이러한 보고서를집계된 데이터에 대한 보고서라고 한다. 하지만 SQL에 대한 보고서의 경우에는 데이터를 먼저 수집하고 PWH에 로드해야 한다. 이 수집 및 로드 단계 또한 프로세스에 해당한다. SQL 데이터 수집의 경우 모니터링되는 인스턴스에서 명령문 이벤트 모니터가 사용된다. 이 이벤트 모니터를 실행하면 모니터링되는 인스턴스에서 많은 오버헤드가 발생하므로 이러한 프로세스를 통해 SQL 보고서를 생성하기 전에 신중해야 한다. 이러한 보고서를 SQL이벤트 모니터 데이터에 대한 보고서라고 한다.
집계된 데이터에 대한 보고서를 사용하여 기준 설정하기집계된 데이터에 대한 보고서를 사용하여 기준을 설정하려면 다음 단계를 수행한다. 이 예제에서는 8월 23일 오후 2시부터 4시까지 두 시간 동안 테스트를 실행하여 기준 보고서를 작성한다고 가정한다.
  1. 테스트가 완료되면 Performance Warehouse를 열고 모니터링되는 인스턴스에 대한Process Groups를 펼친 다음Process Groups를 마우스 오른쪽 단추로 클릭하고Create를 선택하여 고유한 프로세스 그룹을 작성하고 이름을 지정한다.
  2. Public 보기에서DB Activity Trace Report와 같은 보고서 프로세스 템플리트를 마우스 오른쪽 단추로 클릭한 다음 사용자의 고유 프로세스 그룹에 복사한다. BP. Act Trace Reports와 운영 체제 데이터 수집을 위한 OS Reports도 집계된 데이터에 대한 보고서에 사용할 수 있는 보고서 템플리트이다.
  3. 템플리트를 복사한 후 프로세스 그룹에서 복사된 DB 활동 추적 보고서를 펼쳐서 보고서 프로세스를 편집한다.
  4. Steps를 클릭한다. 오른쪽 분할창에 Report 단계가 표시된다.
  5. Report단계를 두 번 클릭한다.
  6. Options탭을 클릭한 후 테스트의 시작 및 종료 시간을 포함한 테스트 간격을 지정한다.
  7. 그림 25와 같이 데이터베이스 이름,Trace유형 및 원하는 파티션을 선택한다.그림 25. 보고서 옵션 지정하기 Fig25.jpg
  8. OK를 클릭한다.
  9. 그림 26과 같이 DB Activity Report를 마우스 오른쪽 단추로 클릭하고 Execute를 클릭한다.그림 26. 보고서를 작성한느 프로세스 실행하기 Fig26.jpg
  10. Scheduling 창에서Execute once, immediately를 선택하고Finish를 클릭한다.
  11. 트리에서Process Executions를 선택한다. 오른쪽 분할창에 모든 프로세스 실행이 나열된다.
  12. Refresh 단추icon7.jpg를 사용하여 프로세스가 완료되었는지 확인한다.
  13. Stop 시간 소인이 표시되면 이 프로세스 실행을 두 번 클릭하고REPORT Step Execution을 펼친 후Output File을 선택하여 HTML 파일을 연다. 이 HTML 파일에는 선택한 기간 동안의 DB 활동 보고서가 표시된다. 이 보고서가 바로 기준이다.
DB 활동 보고서에는 데이터베이스 연결, 정렬 활동, 잠금 문제점, 로깅 활동, I/O 등에 대한 자세한 정보가 표시된다. 보고서에는 그림 27과 같이 핵심 성과 지표를 보여 주는 섹션도 있다. 이 섹션에서는 일목요연하게 정리된 테스트 실행 결과를 볼 수 있다.그림 27. DB활동 보고서의 핵심 성과 지표
Fig27.jpg같은 프로세스를 다시 사용하여 또 다른 보고서를 생성하려면 프로세스를 마우스 오른쪽 단추로 클릭하고Properties를 선택한 다음Status를 변경하여 상태를Active에서In definition으로 변경한다. 그런 다음 프로세스를 편집하터에 대한 보고서 생성 스케줄하기보고서 생성 프로세스를 정기적으로 실행하기 위해 프로세스 스케줄을 설정할 수 있다. 예를 들어 월요일 아침마다 지난 주의 DB Activity Report를 생성하려면 다음을 수행한다.
  1. 위에서 설명한 단계 1 -5 를 수행한다.
  2. Options탭을 클릭하고Date relative to process execution을 지정한다. 월요일 아침에 프로세스를 실행하고 보고서에 지난 주의 시작 시간(월요일 오전 10시)부터 지난 주의 종료 시간(금요일 오후 5시)까지의 데이터가 들어 있어야 하는 경우 -7(일)을 시작 오프셋으로 지정하고 -3(일)을 종료 오프셋으로 지정한다.
  3. 10:00:00을 시작 시간으로 입력한 다음17:00:00을 종료 시간으로 입력한다. 그림 28에서는 이러한 항목이 입력된 분할창을 보여 준다.그림 28. 상대적인 프로세스 실행 옵션 지정하기 Fig28.jpg
  4. Scheduling 창이 열리면Execute repeatedly according to a schedule옵션을 선택한다.
  5. Schedule탭에서Execute every Monday at 09:00을 선택한다.
  6. 다음 주 월요일 오전 9시 이후에Process Executions로 이동한다.
  7. 프로세스 실행을 두 번 클릭하고REPORT Step Execution을 펼친 다음Output File을 클릭하여 HTML 파일을 연다.
SQL 이벤트 모니터 데이터에 대한 보고서를 사용하여 기준 설정하기SQL 이벤트 모니터 데이터를 사용하여 기준을 설정하는 방법은 여러 테스트 동안 동일한 워크로드를 실행할 경우에만 유용하다. 하지만 실행된 SQL 명령문과 기준을 비교할 수 없다. 이 보고서는 DB2 명령문 이벤트 모니터가 모니터링되는 데이터베이스의 성능에 미치는 영향을 고려하지 않아도 되는 경우에만 작성하는 것이 좋다.동일한 예제에서 8월 23일 오후 2시부터 4시까지 두 시간 동안 테스트를 실행하여 SQL 기준을 설정한다고 가정한다. SQL 기준은 DB2 명령문 이벤트 모니터를 통해 데이터를 캡처하므로 집계된 데이터에 대한 보고서와 마찬가지로 테스트 이후가 아닌 테스트 중에 캡처되어야 한다.기준을 설정하려면 다음 단계를 수행한다.
  1. 테스트 중에 Performance Warehouse를 연 후 모니터링되는 인스턴스에 대한Process Groups를 펼친다.
  2. 고유한 프로세스 그룹이 아직 없는 경우에는Process Groups를 마우스 오른쪽 단추로 클릭한 후Create를 선택하여 프로세스 그룹을 작성하고 이름을 지정한다.
  3. Public 보기에서SQL Activity Summary Report와 같은 보고서 프로세스 템플리트를 마우스 오른쪽 단추로 클릭한 다음 사용자의 고유 프로세스 그룹에 복사한다. SQL 이벤트 모니터 데이터에 보고서에 사용할 수 있는 다른 보고서 템플리트로는 SQL Activity Trace Report가 있으며 모니터링되는 데이터베이스에서 SQL PL로 작성된 저장 프로시저가 실행 중인 경우에는 SQL PL Profiler도 사용할 수 있다.
  4. 템플리트를 복사한 후 다음 단계에 따라 보고서 프로세스를 편집하고 원하는 보고서 옵션을 지정한다. SQL Activity CRD for Queries 프로세스도 이벤트 모니터 데이터를 기반으로 하지만 프로세스 완료 후 보고서가 작성되지 않으며 Queries를 사용해서만 수집한 데이터를 분석할 수 있다. 여러 파티션에 대한 SQL 이벤트 모니터 데이터를 수집하려는 경우 다중 파티션으로 구성되어 있는 모니터링되는 인스턴스에 Queries 프로세스를 사용한다.
  5. 고유한 프로세스 그룹에서 복사된 SQL 활동 요약 보고서를 펼치고Steps를 클릭한다. 오른쪽 분할창에 CRD, Load 및 Report 단계가 표시된다.
  6. CRD(보고서 데이터 수집) 단계를 두 번 클릭한다.
  7. Options탭을 클릭하고 원하는 데이터베이스와 파티션을 지정한 후 데이터를 수집하기 위해 DB2 명령문 이벤트 모니터를 실행할 경과 시간을 지정한다. 이 시간은 모니터링되는 데이터베이스에 영향을 미치지 않을 정도의 모니터 데이터를 수집하면 되므로 짧게 지정하는 것이 좋다(약 1-3분).그림 29. 이벤트 모니터 설정 지정하기 Fig29.jpg
  8. Event condition for event type statement필드가 공백일 경우에는 모니터링되는 전체 데이터베이스에 대해 DB2 명령문 이벤트 모니터가 시작된다. 이벤트 모니터를 특정 애플리케이션에 대해서만 시작하려면 그림 30과 같이 CREATE EVENT MONITOR 명령문 구문에 이벤트 조건을 지정한다.그림 30. 이벤트 모니터 필터 지정하기 Fig30.jpg
  9. OK를 클릭한다.
  10. Load단계를 두 번 클릭하고Options탭을 선택한다. Load 단계 동안 수집된 이벤트 모니터 데이터가 Performance Expert 서버의 성능 데이터베이스에 로드된다.
  11. 모니터링되는 데이터베이스에서 정적 SQL이 실행되는 경우 데이터를 보고서에 수집하려면Retrieve the text of static SQL statements선택란을 선택한다.
  12. OK를 클릭한다.
  13. 트리에서 SQL Activity Summary Report를 마우스 오른쪽 단추로 클릭하고Execute를 선택한다.
  14. Scheduling 창에서Execute once, immediately를 선택하고 Finish를 클릭한다.
  15. 트리에서Process Executions를 선택한다. 오른쪽 분할창에 모든 프로세스 실행이 나열된다.
  16. Refresh 단추icon7.jpg를 사용하여 프로세스가 완료되었는지 확인한다.
  17. Stop 시간 소인이 표시되면 이 프로세스 실행을 두 번 클릭하고REPORT Step Execution을 펼친 후Output File을 선택하여 HTML 파일을 연다. 이 HTML 파일에는 선택한 기간 동안의 DB 활동 보고서가 표시된다. 이 보고서가 바로 기준이다.
SQL Activity Summary Report에서는 전체 실행 시간을 기준으로 정렬되어 있는 실행된 명 각 명령문을 드릴다운하면 각 명령문 실행에 대한 자세한 정보를 볼 수 있다.같은 프로세스를 다시 사용하여 또 다른 보고서를 생성하려면 프로세스를 마우스 오른쪽 단추로 클릭하고Properties를 선택한 다음Status를 변경하여 상태를Active에서In definition으로 변경한다. 그런 다음 프로세스를 편집하고 다시 실행할 수 있다.SQL 이벤트 모니터 데이터에 대한 보고서 생성 스케줄하기기준을 설정할 테스트가 야간에 실행 중일 경우 DB2 명령문 이벤트 모니터를 사용하여 보고서 생성 및 SQL 이벤트 모니터 데이터의 수집을 스케줄할 수 있다.
  1. 트리에서 SQL Activity Summary Report를 마우스 오른쪽 단추로 클릭하고Execute를 선택한다.
  2. CRD 및 Load 단계에서 지정한 설정을 기반으로 보고서를 작성할 빈도에 따라 Scheduling 창에서Execute once, on a certain date또는Execute repeatedly according to a schedule을 선택한다.
  3. Finish를 클릭한다.
  4. Date & Time 탭 또는 Schedule 탭에서 테스트가 실행 중일 때 발생할 데이터 수집 및 보고서 생성이 완료되어야 하는 시간을 지정한다.
SQL 이벤트 모니터 데이터에 대한 보고서 생성을 간단히 실행하는 방법테스트가 실행 중일 때 특정 애플리케이션에 대해 실행되는 SQL의 기준을 캡처하려는 경우Application Summary를 사용하여 SQL 이벤트 모니터 데이터에 대한 보고서 생성을 호출할 수 있다.
  1. System Overview에서Application Summaryicon6.jpg를 연다.
  2. SQL 이벤트 모니터 데이터를 수집할 대상 애플리케이션을 마우스 오른쪽 단추로 클릭하고Create SQL Activity Trace Report를 선택한다.
  3. 데이터를 수집하기 위해 DB2 명령문 이벤트 모니터를 실행할 시간을 지정한다. 다시 한번 말하지만 이 시간은 짧게 지정해야 한다. 간단히 보고서를 생성한 후 쿼리를 사용하여 수집된 데이터를 분석하지 않은 채로 디스크에 저장하려면 그림 31의 창에서Delete data after report generation선택란을 선택한다.그림 31. SQL 활동 추적 설정 Fig31.jpg
  4. OK를 클릭한다. 진행률을 보여 주는 창이 열린다. 작업이 완료되면 보고서가 표시된다. 보고서를 기준으로 유지하려면 디스크에 저장한다.
SQL 성능에 대한 기준을 설정하는 작업을 위한 추가 권장 사항지금까지 단기 및 장기 히스토리 데이터에 대한 기준을 설정하는 방법과 SQL 성능에 대한 기준을 설정하는 방법에 대해 살펴보았다. 델타 모드에서 단기 히스토리를 사용할 경우 Dynamic SQL Statement 보기에서 특정 기간 동안 실행된 SQL 명령문을 볼 수 있다. 장기 히스토리를 사용할 경우에는 DB2 명령문 이벤트 모니터를 시작하여 SQL 이벤트 모니터 데이터를 수집한 후 Performance Expert 서버의 성능 데이터베이스에 수집된 데이터를 저장할 수 있다.DB2 명령문 이벤트 모니터를 실행할 경우에는 모니터링되는 데이터베이스에 약간의 성능 오버헤드가 발생하므로 사용할 SQL 성능 기준 방법과 시기를 결정할 때 다음과 같은 권장 사항을 고려하는 것이 좋다.
  • 다음과 같은 경우에는 히스토리 및 델타 모드에서 Statistic Details의 Dynamic SQL Statement 보기를 사용한다.
    • 워크로드가 주로 SQL로 구성된 경우
    • 기준에서 어떤 애플리케이션이 SQL 명령문을 실행하는지가 중요하지 않은 경우
    • 단기 히스토리가 여전히 사용 가능하지만 아직 자동으로 삭제되지 않았을 때 기준을 설정하는 경우
  • 다음과 같은 경우에는 DB2 명령문 이벤트 모니터를 기반으로 하는 SQL 이벤트 모니터 데이터에 대한 보고서를 사용한다.
    • 워크로드가 주로 정적 SQL로 구성된 경우
    • 기준에서 어떤 애플리케이션이 SQL 명령문을 실행하는지가 중요한 경우
    • 장기 히스토리에서 HTML 보고서와 같은 기준만 사용하기엔 불충분하고 수집된 데이터를 Performance Expert 서버의 성능 데이터베이스에 장기 분석용으로 보관하려는 경우

DB2 Workload Manager 활용하기

DB2 9.5부터는 워크로드 성능 기준을 정의 및 관리할 수 있다. 테이블 함수, 저장 프로시저 및 이벤트 모니터를 호출하여 워크로드에 대한 정보를 수집하는 고유한 스크립트를 작성하여 DB2 WLM(Workload Manager)를 사용할 수 있다. Performance Expert를 사용하면 이러한 정보를 더 쉽게 수집할 수 있다.Performance Expert에는 Workload Manager KPI(Key Performance Indicator)를 간편하게 설정, 구성 및 표시할 수 있는 사용자 인터페이스가 있다. 그림 32와 같이 Performance Experts System Overview 창에 표시되는 이러한 KPI는 가장 일반적인 성능 카운터이다. 이러한 성능 카운터는 워크로드에 대한 이해를 높이고 워크로드가 비즈니스 요구에 미치는 영향을 파악하는 데 사용된다.추가 권장 사항
  • Performance Expert System Overview에서 워크로드 관리 정의를 드릴다운하여 시스템 워크로드를 보다 자세히 파악할 수 있다. 필터를 사용하여 원하는 내용만 표시하는 사용자 정의된 상세 보기를 작성할 수도 있다.
  • 필터를 사용할 경우에는 특정 데이터베이스를 기반으로 하는 워크로드를 드릴다운하여 워크로드에 대한 서비스 클래스를 조사할 수 있다. 서비스 클래스를 선택하면 상관 관계가 있는 서브 서비스 클래스가 자동으로 강조 표시된다.
  • Performance Expert 대시보드에는 정의된 워크로드에 대한 성능 카운터가 표시된다. 이 대시보드는 DB2 서버에서 실행해야 하는 작업과 해당 작업이 사용자의 업무 성과와 어떤 상관 관계를 가지고 있는지 강조 표시할 수 있다.
  • Performance Expert Workload Manager를 통해 사용량이 가장 적을 때 실행되는 워크로드와 사용량이 가장 많을 때 실행되는 워크로드를 비교할 수 있다. Performance Expert를 사용하여 상위 워터마크 또는 피크 타임별로 워크로드를 기반으로 하는 연결 수를 조사할 수 있다.
Performance Expert Workload Manager 구성기본적으로 Performance Expert는 자동으로 DB2 Workload Manager를 검색하여 Workload Manager 통계를 수집한 DB2 모니터링 대상 사용자 ID를 사용하여 Workload Manager 이벤트 모니터 테이블을 모니터링되는 데이터베이스의 테이블에 저장한다. Performance Expert는 다양한 간격으로 DB2 Workload Manager 카운터를 수집한다. Workload Management 수집 간격을 설정하려면 다음 단계를 수행한다.
  1. Performance Expert System Overview 창에서 모니터링되는 인스턴스를 마우스 오른쪽 단추로 클릭한다.
  2. 드롭다운 상자에서Properties를 선택하고History탭을 선택한 후 간격을 변경한다.
그림 33.WLM 단기 히스토리 설정
Fig33.jpg

대규모DPF환경의 모니터링 구서하기

파티셔닝된 환경을 모니터링하는 작업은 데이터베이스 관리자에게 부담이 되는 작업 중 하나일 수 있다. 각 파티션의 DB2 성능 데이터를 수집하고 저장한 후 그 상관 관계를 분석하는 작업이 어렵게 느껴질 수 있다. 하지만
Performance Expert를 사용하면 성능 카운터를 전역적으로, 파티션별로, 파티션 그룹별로 또는 고유한 형식의 사용자 정의된 보기를 통해서 볼 수 있는 사용자 인터페이스가 제공되므로 파티셔닝된(DPF) 환경을 더욱 쉽게 모니터링할 수 있다.Performance Expert는 성능 카운터에 대한 높은 수준의 상세 보기를 제공한다.
  • 개별 파티션 보기에는 한 번에 한 파티션이 표시된다.
  • 그룹 보기에는 사용자 정의된 그룹을 비롯한 파티션 그룹이 표시된다.
  • 전역 보기에는 모든 파티션에서 집계된 데이터가 표시된다.
그림 34에서는 여러 가지 파티셔닝된 보기를 보여 준다.그림 34.파티션별, 파티션 그룹별 또는 전역 보기로 보기
Fig34.jpg추가 권장 사항모니터링되는 파티션 수 제한하기Performance Expert를 사용하여 대규모 파티셔닝된 환경을 모니터링할 경우에는파티션 세트를 정의 및 사용하여 Performance Expert가 모니터링하는 파티션 수를 제한하는 것이 좋다. 파티셔닝된 DB2 환경의 균형이 잘 잡혀 있는 경우에는 Performance Expert를 사용하여 물리적 시스템별로 하나의 파티션을 모니터링하는 것이 좋다. 모든 파티션에 대한 데이터를 수집하는 것은 비효율적인 방법이며 특히 파티션 수가 많은 경우에는 더욱 그러하다.파티션 세트를 정의하려면 다음 단계를 수행한다.
  1. 모니터링되는 DB2 인스턴스에 로그인한다.
  2. 모니터링되는 인스턴스를 마우스 오른쪽 단추로 클릭하고 드롭다운 상자에서Properties를 선택한다.
  3. Partition Sets탭을 선택한다.
  4. 그림 35와 같이 이름을 지정하고, 파티션을 할당한 후 파티션에 역할을 할당하여 새 파티션을 정의한다.
  5. History 탭을 클릭한 후 그림 35와 같이 히스토리 데이터를 수집할 파티션 세트를 선택한다.
그림 35. 사용자 정의된 파티션 보기 작성하기
Fig35.jpg전역 보기 사용하지 않기파티션 수를 제한하지 않을 경우에는 전역 보기를 사용하지 않는 것이 좋다. 대규모 파티셔닝된 환경의 경우 총 20개 또는 90개의 파티션에서 DB2 스냅샷을 리턴 받는 데 많은 시간이 걸릴 수 있다. 전역 보기를 사용하기로 결정한 경우에는 Performance Expert에서 데이터를 리턴하는 데 많은 시간이 소요된다는 점을 감안해야 한다.기본 로그인 모드를 히스토리 전용으로 설정하기Performance Expert에서는 현재 또는 히스토리(단기) 데이터를 볼 수 있다. 대규모 파티셔닝된 환경에서는 현재 모드를 사용하여 로그인한 사용자가 너무 많으면 모니터링되는 DB2 인스턴스에 영향을 줄 수 있으므로 기본 Performance Expert 로그인 모드를 히스토리 전용 모드로 설정하는 것이 좋다. 이 기본값은 Performance Server 특성 파일 또는 사용자 인터페이스를 통해 설정할 수 있다.사용자 인터페이스를 통해 기본 로그인을 히스토리 전용 모드로 구성하려면 다음 단계를 수행한다.
  1. 모니터링되는 DB2 인스턴스에 로그인한다.
  2. 모니터링되는 인스턴스를 마우스 오른쪽 단추로 클릭하고 드롭다운 상자에서Properties를 선택한다.
  3. Server Connection탭을 선택한다.
  4. Default is history-only mode옆의 선택란을 클릭한다.
그림 36. 히스토리 전용 모드로 로그인하기
Fig36.jpg모든 Performance Expert 클라이언트에 대해 Default is history-only mode를 적용하려면 db2pesrv.prop 파일을 사용한다. db2pesrv.prop 파일은 기본 Performance Expert 설치의 기본 디렉토리에 있는 bin 서브디렉토리에 있다. 예를 들어, 기본 Performance Expert 디렉토리는 /opt/IBM/db2pesrv/v3/bin이다.모든 인스턴스의 경우, db2pesrv.prop의 매개변수를
단일 인스턴스의 경우, db2pesrv.prop의 매개변수를
데이터 수집을 선택적으로 비활성화하기모니터링되는 인스턴스에 거의 변경되지 않는 컨테이너가 많이 있는 경우에는 Performance Expert 서버에서 컨테이너 정보를 수집하지 않는 것이 좋다. DB2 자동 저장소를 사용하는 경우에는 Performance Expert에서 테이블 공간에 대한 카운터를 수집할지 여부를 결정해야 한다. DB2가 컨테이너와 테이블 공간에 대한 공간 할당을 자동으로 관리하므로 Performance Expert를 사용해서 이러한 카운터를 수집하지 않아도 된다. 기본적으로 Performance Expert는 컨테이너 및 테이블 공간 카운터를 캡처하므로 DB2 자동 저장소가 변경 사항을 적용한 시기를 확인할 수 있다. Performance Expert에서 컨테이너 및 테이블 공간 데이터를 수집하는 작업은 언제라도 비활성화할 수 있다.참고자료에서 자세한 정보를 볼 수 있다.Performance Expert 서버의 데이터 수집 작업을 비활성화하려면 성능 데이터베이스에 연결한 후 다음 명령 중 하나를 실행한다.
  • 테이블 공간 및 컨테이너 수집을 비활성화하려면 다음 명령을 실행한다.
  • 컨테이너 수집만을 비활성화하려면 다음 명령을 실행한다.
  • 파티셔닝된 환경(모든 스냅샷 범주)에서 전역 스냅샷 데이터를 비활성화하려면 다음 명령을 실행한다.

결론

Linux, UNIX 및 Windows용 DB2 Performance Expert는 데이터베이스 성능에 대한 모니터링 및 조정 작업에 유용한 여러 가지 기능을 제공하는 강력한 도구이다. 이 기사에서는 성능 기준을 설정하고, DB2 Workload Manager를 활용하고, 대규모 DPF 환경의 모니터링을 구성하는 방법에 대해 살펴보았다.

필자소개

p-ama.jpg Alice Ma는 IT 업계에서 15년 이상 동안 고객과 IBM 비즈니스 파트너를 도와 솔루션을 설계, 개발 및 테스트하고 고급 지원을 제공해왔다. 현재는 IBM Silicon Valley Lab에서 IBM InfoSphere Warehouse 업무를 맡고 있으며 성능 및 DBA 도구와 관련된 솔루션을 빌드하고 있다. 전문 분야는 DB2의 문제점 식별, 성능 조정 및 복구이다.
p-ubaumbach.jpg Ute Baumbach는 독일의 IBM Lab에서 소프트웨어 개발자로 18년 동안 활동하면서 다양한 소프트웨어 개발 프로젝트에서 여러 가지 업무를 수행했다. 대부분 DB2를 기반으로 하는 프로젝트를 수행했다. 5년 동안 DB2 Performance Expert 개발 팀 소속이었다가 현재는 Data Studio Performance Management 개발 팀에서 활동하고 있으며 IBM Certified Database Administrator 및 Certified Application Developer for DB2 for Linux, UNIX and Windows이기도 하다.
출처 : 한국 IBM제공 : DB포탈사이트 DBguide.net