Amazon Relational Database Service
사용 설명서 (API 버전 2014-10-31)

성능 개선 도우미 대시보드 사용

성능 개선 도우미 대시보드에는 성능 문제를 분석하여 해결할 수 있는 데이터베이스 성능 정보가 포함됩니다. 메인 대시보드 페이지에서 데이터베이스 부하에 대한 정보를 확인할 수 있습니다. 또한 특정 대기 상태, SQL 쿼리, 호스트 또는 사용자에 대한 세부 정보를 알아볼 수 있습니다.

성능 개선 도우미 대시보드 열기

성능 개선 도우미 대시보드는 다음 절차에 따라 확인할 수 있습니다.

AWS Management Console에서 성능 개선 도우미 대시보드를 보려면

  1. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 [성능 개선 도우미]를 선택합니다.

  3. DB 인스턴스를 선택합니다. 선택한 DB 인스턴스에 대한 성능 개선 도우미 대시보드가 표시됩니다.

    성능 개선 도우미가 활성화되면 DB 인스턴스의 경우 DB 인스턴스 목록에서 세션 항목을 선택하여 대시보드에 접속할 수도 있습니다. 현재 활동에서 세션 항목은 지난 5분 동안 평균 활동 세션의 데이터베이스 로드를 보여 줍니다. 로드가 막대 모양으로 표시됩니다. 막대가 비어 있으면 DB 인스턴스가 유휴 상태입니다. 로드가 증가하면 막대가 파란색으로 채워집니다. 로드에서 DB 인스턴스 클래스의 가상 CPU(vCPU) 수를 전달하면 막대가 빨간색으로 바뀌고 병목 가능성을 나타냅니다.

    
							측정치 필터링

    다음 이미지는 DB 인스턴스의 대시보드를 보여 줍니다.

    
							측정치 필터링

성능 개선 도우미 대시보드는 기본적으로 마지막 60분 동안 수집된 데이터를 표시합니다. 하지만 마지막 5분, 60분, 5시간, 24시간 또는 1주 동안 데이터를 표시하도록 수정할 수 있습니다. 사용 가능한 모든 데이터를 볼 수도 있습니다.

Performance Insight 대시보드는 새 데이터로 자동으로 고쳐집니다. 새로 고침 속도는 표시되는 데이터의 양에 따라 다릅니다.

  • 5분은 5초마다 새로 고칩니다.

  • 1시간 및 5시간은 1분마다 새로 고칩니다.

  • 24시간은 5분마다 새로 고칩니다.

  • 1주는 1시간마다 새로 고칩니다.


					측정치 필터링

성능 개선 도우미 대시보드 구성 요소

대시보드는 2개 부분으로 구분됩니다.

  1. 평균 활성 세션 차트 - 데이터베이스 부하와 DB 인스턴스 용량을 비교하여 최대 CPU 선으로 표시합니다.

  2. 상위 부하 항목 테이블 - 데이터베이스 부하에 가장 많이 영향을 미치는 항목을 보여 줍니다.

평균 활성 세션 차트

평균 활성 세션 차트는 데이터베이스 부하와 DB 인스턴스 용량의 비교 방식을 최대 CPU 선으로 표시합니다. 기본적으로 부하는 대기 상태를 기준으로 구분된 활성 세션으로 표시됩니다. 또한 SQL 쿼리, 호스트 또는 사용자로 구분된 활성 세션으로 부하를 표시하도록 선택할 수도 있습니다.


						측정치 필터링

선택한 기간의 항목 세부 정보를 범례에 표시하려면 평균 활성 세션 차트의 임의 항목 위로 마우스 포인터를 가져가면 됩니다.


						측정치 필터링

상위 부하 항목 테이블

[Top Load Items] 테이블에는 데이터베이스 부하에 영향을 끼치는 상위 항목이 표시됩니다. 기본적으로 데이터베이스 부하에 영향을 미치는 상위 SQL 쿼리가 표시됩니다. 쿼리는 구조적으로 유사한 실제 쿼리가 다수 요약되어 표시되지만 다른 파라미터가 존재할 가능성도 있습니다. 그 밖에 최상위 대기 상태, 호스트 또는 사용자를 표시하도록 선택할 수도 있습니다.


						측정치 필터링

각 상위 부하 항목과 관련된 데이터베이스 부하 비율(%)는 [DB Load by Waits] 열에 표시됩니다. 이 열에는 현재 평균 활성 세션 차트에서 어떤 구분 기준을 선택하든 그 기준에 따라 해당 항목의 부하가 반영됩니다. 예를 들어, 평균 활성 세션 차트가 호스트별로 구분되어 있고 상위 부하 항목 테이블에서 SQL 쿼리를 살펴보고 있다고 가정합니다. 이 경우 [DB Load by Waits] 막대는 관련 호스트에 대한 쿼리의 부하를 반영하며, 평균 활성 세션 차트의 해당 호스트에 컬러 코드로 매핑합니다.

또 다른 예로, 평균 활성 세션 차트가 대기 상태별로 구분되어 있고 상위 부하 항목 테이블에서 SQL 쿼리를 살펴보고 있다고 가정합니다. 이때 [DB Load by Waits] 막대는 쿼리가 영향을 미치는 대기 상태의 정도와, 대기 상태가 해당 쿼리에 영향을 미치는 정도를 크기, 세그먼트 및 컬러 코드로 표시합니다. 해당 쿼리에 영향을 미치는 대기 상태도 표시합니다.


						측정치 필터링

Top Load Items(상위 부하 항목) 테이블에서 SQL 문과 관련된 다음과 같은 식별자(ID) 유형을 볼 수 있습니다.

  • SQL ID – 데이터베이스가 SQL 문을 고유하게 식별하기 위해 사용하는 ID입니다.

    Oracle 및 SQL Server DB 인스턴스의 경우, SQL ID를 사용하여 특정 SQL 문을 찾을 수 있습니다.

  • SQL ID 지원 – SQL ID의 해시 값입니다. 이 값은 AWS Support를 사용할 때 SQL ID를 참조하는 용도로만 사용됩니다. AWS Support는 실제 SQL ID 및 SQL 텍스트에 액세스할 수 없습니다.

  • 다이제스트 ID – 데이터베이스가 SQL 다이제스트를 고유하게 식별하기 위해 사용하는 ID입니다. SQL 다이제스트에는 리터럴이 제거되고 공백이 표준화된 SQL 문이 하나 이상 포함될 수 있습니다. 리터럴은 물음표(?)로 대체됩니다.

    Amazon RDS MySQL 및 PostgreSQL DB 인스턴스의 경우, 다이제스트 ID를 사용하여 특정 SQL 다이제스트를 찾을 수 있습니다.

    Oracle 및 SQL Server DB 인스턴스의 경우, 다이제스트 ID는 SQL ID와 동일하고, Top Load Items(상위 부하 항목) 테이블은 리터럴을 포함하는 실제 SQL 문입니다.

  • 다이제스트 ID 지원 – 다이제스트 ID의 해시 값입니다. 이 값은 AWS Support를 사용할 때 다이제스트 ID를 참조하는 용도로만 사용됩니다. AWS Support는 실제 다이제스트 ID 및 SQL 텍스트에 액세스할 수 없습니다.

Top Load Items(상위 부하 항목) 테이블에서 상위 문을 열어 ID를 볼 수 있습니다. 다음 이미지는 열린 상위 문을 보여 줍니다.


						SQL ID

기본 설정 아이콘을 선택하여 Top Load Items(상위 부하 항목) 테이블에 표시된 ID를 제어할 수 있습니다.


						SQL ID

기본 설정 아이콘을 선택하면 기본 설정 창이 열립니다.


						SQL ID

Top Load Items(상위 부하 항목) 테이블에 표시하려는 ID를 활성화한 후, 저장을 선택합니다.

성능 개선 도우미 대시보드를 사용한 데이터베이스 부하 분석

평균 활성 세션 차트가 병목 현상을 보일 때는 부하가 발생하는 위치를 찾아낼 수 있습니다. 이렇게 하려면 평균 활성 세션 차트 아래에 있는 상위 부하 항목 테이블을 살펴봅니다. SQL 쿼리나 사용자 같은 특정 항목을 선택하여 드릴다운을 통해 세부 정보까지 확인할 수 있습니다.

대기 상태와 상위 SQL 쿼리를 기준으로 구분된 DB 부하가 일반적으로 성능 문제에 대해 가장 큰 인사이트를 제공하는 조합이기 때문에 성능 개선 도우미 대시보드의 기본 뷰로 사용됩니다. 대기 상태를 기준으로 구분된 DB 부하는 데이터베이스의 리소스 또는 동시성 병목 현상 유무를 표시합니다. 이 경우 상위 항목 테이블의 [SQL] 부하를 야기하는 쿼리를 표시합니다.

성능 문제를 진단하는 일반 워크플로우는 다음과 같습니다.

  1. 평균 활성 세션 차트를 보면서 데이터베이스 부하가 최대 CPU 선을 상회하는지 모니터링합니다.

  2. 상회하는 경우가 있으면 평균 활성 세션 차트를 보면서 원인이 되는 대기 상태를 식별합니다.

  3. 상위 부하 항목 테이블의 [SQL] 탭에서 어떤 쿼리가 대기 상태에 가장 큰 영향을 미치는지 모니터링하면서 부하를 야기하는 요약 쿼리를 식별합니다. [DB Load by Wait] 열을 보면 이러한 요약 쿼리를 식별할 수 있습니다.

  4. [SQL] 탭에서 요약 쿼리 중 하나를 선택하여 확장한 다음 구성하고 있는 하위 쿼리를 확인합니다.

예를 들어 다음 대시보드에서 IO:XactSync 대기 시간은 빈번한 문제입니다. [CPU] 대기 시간은 비교적 빈번하지는 않지만 부하에 여전히 중요한 역할을 합니다.

상위 부하 항목 테이블의 [SQL] 탭에서 처음 4개의 롤업 쿼리는 첫 번째 상태와 매우 밀접한 관계가 있습니다. 따라서 이러한 쿼리의 하위 쿼리까지 세부 정보를 확인해야 합니다. 이러한 쿼리가 성능 문제에 어떻게 영향을 끼치고 있는지 알아보려면 이렇게 확인해야 합니다.

마지막 3개의 롤업 쿼리는 CPU 부하에 중요한 역할을 하며, CPU 부하가 문제인지 여부를 조사하는 쿼리가 됩니다.


					측정치 필터링