

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 성능 개선 도우미 대시보드를 사용한 지표 분석
<a name="performance-insights-analyzing"></a>

성능 개선 도우미 대시보드에는 성능 문제를 분석하여 해결할 수 있는 데이터베이스 성능 정보가 포함됩니다. 기본 대시보드 페이지에서 데이터베이스 로드 (DB load)에 대한 정보를 볼 수 있습니다. 대기 상태나 쿼리와 같은 차원별로 DB 로드를 "슬라이스"할 수 있습니다.

**Topics**
+ [성능 개선 도우미 대시보드 개요](performance-insights-dashboard-overview.md)
+ [성능 개선 도우미 대시보드 열기](performance-insights-dashboard-opening.md)
+ [대기 상태별 데이터베이스 로드 분석](performance-insights-analyzing-db-load.md)
+ [상위 쿼리 탭 개요](performance-insights-top-queries.md)
+ [데이터베이스 로드 차트에서 확대](performance-insights-zoom-db-load.md)

# 성능 개선 도우미 대시보드 개요
<a name="performance-insights-dashboard-overview"></a>

대시보드는 성능 개선 도우미와 상호 작용하는 가장 간편한 방법입니다. 다음 예제는 Amazon DocumentDB 인스턴스의 대시보드를 보여줍니다. 성능 개선 도우미 대시보드는 기본적으로 마지막 1시간 동안 수집된 데이터를 표시합니다.

![\[Amazon DocumentDB 인스턴스의 시간 경과에 따른 CPU 사용률 및 데이터베이스 로드를 보여주는 성능 개선 도우미 대시보드입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/overview-dashboard.png)


대시보드는 다음과 같은 부분으로 나뉩니다:

1. **카운터 지표** – 특정 성능 카운터 지표의 데이터를 보여줍니다.

1. **데이터베이스 로드** – **최대 vCPU** 선으로 표시된 바와 같이 DB 로드와 DB 인스턴스 용량을 비교하는 방식을 표시합니다.

1.  **상위 차원** – DB 로드에 기여하는 상위 차원을 보여줍니다. 이러한 차원에는 `waits`, `queries`, `hosts`, `databases`, 및 `applications`가 포함됩니다.

**Topics**
+ [카운터 지표 차트](#performance-insights-overview-metrics)
+ [데이터베이스 로드 차트](#performance-insights-overview-db-load-chart)
+ [상위 측정기준 테이블](#performance-insights-overview-top-dimensions)

## 카운터 지표 차트
<a name="performance-insights-overview-metrics"></a>

계수기 지표를 통해 성능 개선 도우미 대시보드에 최대 10개의 추가 그래프가 포함되도록 사용자 지정할 수 있습니다. 이 그래프는 수십 개의 운영 체제 지표를 보여줍니다. 이 정보와 데이터베이스 로드를 연관지으면 성능 문제를 식별하고 분석하는 데 도움이 됩니다.

**카운터 지표** 차트에는 성능 카운터의 데이터가 표시됩니다.

![\[시간 경과에 따른 CPU 사용률을 보여주는 카운터 지표 차트입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/counter-metrics.png)


**지표 관리**를 선택하여 성능 카운터를 변경합니다. 다음 스크린샷과 같이 여러 **OS 메트릭**을 선택할 수 있습니다. 지표에 대한 세부 정보를 보려면 지표 이름 위에 마우스 포인터를 놓습니다.

![\[OS 지표 옵션이 포함된 성능 개선 도우미 대시보드 지표 선택 인터페이스입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/overview-os-metrics.png)


## 데이터베이스 로드 차트
<a name="performance-insights-overview-db-load-chart"></a>

**데이터베이스 로드** 차트는 **최대 vCPU** 선으로 표시된 바와 같이 데이터베이스 활동과 인스턴스 용량을 비교하는 방식을 표시합니다. 기본적으로 누적 꺾은선형 차트는 단위 시간당 평균 활성 세션으로 DB 로드를 나타냅니다. DB 로드는 대기 상태에 따라 슬라이스(그룹화)됩니다.

![\[시간 경과에 따른 평균 활성 세션과, 끝 부근에서 CPU 사용량 스파이크를 보여주는 데이터베이스 로드 차트입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/database-load.png)


**차원을 기준으로 분할된 DB 로드**  
지원되는 차원별로 그룹화된 활성 세션으로 로드를 표시하도록 선택할 수 있습니다. 다음 이미지는 Amazon DocumentDB 인스턴스의 치수를 보여줍니다.

![\[드롭다운 목록에 다양한 ‘조각 기준’ 옵션을 표시하여 데이터베이스 로드를 보여주는 그래프입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/database-load-sliced.png)


**차원 항목에 대한 DB 로드 세부 정보**  
차원 내의 DB 로드 항목에 대한 세부 정보를 보려면 항목 이름 위로 마우스를 가져갑니다. 다음 이미지는 쿼리문에 대한 세부 정보를 보여줍니다.

![\[항목 이름 위로 마우스를 가져가면 추가 세부 정보를 표시하여 데이터베이스 로드를 보여주는 막대 그래프입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/database-load-details.png)


범례에서 선택한 기간의 항목에 대한 세부 정보를 보려면 해당 항목 위에 마우스 포인터를 놓습니다.

![\[막대 위로 마우스를 가져가면 추가 세부 정보를 표시하여 데이터베이스 로드를 보여주는 막대 그래프입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/database-load-hover.png)


## 상위 측정기준 테이블
<a name="performance-insights-overview-top-dimensions"></a>

**상위 측정기준 테이블**은 DB 로드를 다른 차원으로 슬라이스합니다. 차원은 DB 로드의 다양한 특성에 대한 카테고리 또는 "슬라이스"입니다. 측정기준이 쿼리인 경우 **상위 쿼리(Top queries)**에서는 DB 로드에 가장 많이 기여하는 쿼리 문을 보여줍니다.

다음 차원 탭 중 하나를 선택합니다.

![\[상위 쿼리 2개가 표시되는 상위 쿼리 차원 탭입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/top-dimensions.png)


다음 표는 각 탭에 대한 간략한 설명을 제공합니다.


| 탭 | 설명 | 
| --- | --- | 
|  상위 대기  |   데이터베이스 백엔드가 대기 중인 이벤트  | 
|  상위 쿼리  |  현재 실행 중인 쿼리 문  | 
|  상위 호스트  |  연결된 클라이언트의 호스트 IP 및 포트  | 
|  상위 데이터베이스  |  클라이언트가 연결된 데이터베이스의 이름  | 
|  상위 애플리케이션  |  데이터베이스에 연결된 애플리케이션의 이름  | 

**상위 쿼리(Top queries)** 탭을 사용하여 쿼리를 분석하는 방법을 알아보려면 [상위 쿼리 탭 개요](performance-insights-top-queries.md) 섹션을 참조하세요.

# 성능 개선 도우미 대시보드 열기
<a name="performance-insights-dashboard-opening"></a>

**AWS 관리 콘솔에서 성능 개선 도우미 대시보드를 보려면 다음 단계를 사용합니다.**

1. [https://console.aws.amazon.com/docdb/](https://console.aws.amazon.com/docdb/home#performance-insights) 에서 성능 개선 도우미 콘솔을 엽니다.

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

   성능 개선 도우미가 사용 가능한 Amazon DocumentDB 인스턴스의 경우, 인스턴스 목록에서 **세션** 항목을 선택하여 대시보드에 도달할 수도 있습니다. **현재 활동**에서 **세션** 항목은 지난 5분 동안 평균 활동 세션의 데이터베이스 로드를 보여 줍니다. 로드가 막대 모양으로 표시됩니다. 막대가 비어 있으면 DB 인스턴스가 유휴 상태임을 뜻합니다. 로드가 증가하면 막대가 파란색으로 채워집니다. 로드에서 인스턴스 클래스의 가상 CPU(vCPU) 수를 전달하면 막대가 빨간색으로 바뀌고 병목 가능성을 나타냅니다.  
![\[Amazon DocumentDB 리전 클러스터와, 각 클러스터 인스턴스의 CPU 및 현재 활동을 보여주는 클러스터 페이지입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/opening-clusters.png)

1. (선택 사항) 오른쪽 상단의 버튼을 선택하여 다른 시간 간격을 선택합니다. 예를 들어 간격을 1시간으로 변경하려면 **1h**를 선택합니다.  
![\[5분에서 1주까지의 시간 간격 버튼입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/opening-time.png)

   다음 스크린샷에서 DB 로드 간격은 1시간입니다.  
![\[평균 활성 세션에서 측정된 데이터베이스 로드를 보여주는 막대 그래프입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/opening-db-load.png)

1. 데이터를 자동으로 새로 고치려면 **자동 새로 고침**을 활성화합니다.  
![\[자동 새로 고침 버튼이 활성화되어 시간 간격 버튼 옆에 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/opening-auto-refresh.png)

   성능 개선 도우미 대시보드는 새 데이터로 자동으로 고쳐집니다. 새로 고침 속도는 표시되는 데이터의 양에 따라 다릅니다: 
   + 5분은 5초마다 새로 고칩니다.
   + 1시간은 1분마다 새로 고칩니다.
   + 5시간은 1분마다 새로 고칩니다.
   + 24시간은 5분마다 새로 고칩니다.
   + 1주는 1시간마다 새로 고칩니다.

# 대기 상태별 데이터베이스 로드 분석
<a name="performance-insights-analyzing-db-load"></a>

**데이터베이스 로드(DB 로드)** 차트에 병목현상이 나타나면 어디에서 로드가 발생하는지 알 수 있습니다. 이렇게 하려면 **데이터베이스 로드** 차트 아래의 상위 로드 항목 테이블을 살펴보세요. 특정 항목(예: 쿼리 또는 응용프로그램)을 선택하여 해당 항목을 드릴다운하고 세부 정보를 확인합니다.

대기 및 상위 쿼리로 그룹화된 DB 로드는 일반적으로 성능 문제에 대한 가장 많은 통찰력을 제공합니다. 대기 상태를 기준으로 구분된 DB 로드는 데이터베이스의 리소스 또는 동시성 병목 현상 유무를 표시합니다. 이 경우, 상위 로드 항목 테이블의 **상위 쿼리** 탭에는 해당 로드를 구동하는 쿼리가 표시됩니다.

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

1. **데이터베이스 로드** 차트를 보면서 데이터베이스 로드가 **최대 CPU** 선을 상회하는지 확인합니다.

1. 상회하는 경우가 있으면 **데이터베이스 로드** 차트를 보면서 원인이 되는 대기 상태를 식별합니다.

1. 상위 로드 항목 테이블의 **상위 쿼리** 탭이 해당 대기 상태에 가장 크게 기여하는 쿼리를 확인하여 로드를 유발하는 다이제스트 쿼리를 식별합니다. 이러한 내용들을 **대기별 로드(AAS)** 열로 식별할 수 있습니다.

1. **상위 쿼리** 탭에서 이러한 다이제스트 쿼리 중 하나를 선택하여 해당 쿼리를 확장하고 해당 쿼리가 구성된 하위 쿼리를 확인합니다.

또한 **상위 호스트** 또는 **상위 애플리케이션**을 각각 선택하면 어떤 호스트나 애플리케이션이 가장 많은 로드를 주고 있는지 확인할 수 있습니다. 애플리케이션 이름은 Amazon DocumentDB 인스턴스에 대한 연결 문자열에 지정되어 있습니다. `Unknown`은 애플리케이션 필드가 지정되지 않았음을 나타냅니다.

예를 들어 다음 대시보드에서 **CPU** 대기 시간은 대부분의 DB 로드를 차지합니다. **상위 쿼리**에서 상위 쿼리를 선택하면 데이터베이스 로드 차트의 범위가 선택 쿼리로 인해 발생한 가장 많은 로드를 집중적으로 표시합니다.

![\[CPU 사용량 스파이크를 보여주는 데이터베이스 로드 차트입니다. 해당 상위 쿼리 탭에는 대기 상태에 가장 많이 기여하는 쿼리가 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/db-load-1.png)


![\[대기 상태에 가장 많이 기여하는 쿼리의 CPU 사용량 스파이크를 보여주는 데이터베이스 로드 차트입니다. 해당하는 상위 쿼리 탭에는 해당 쿼리의 하위 쿼리가 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/db-load-2.png)


# 상위 쿼리 탭 개요
<a name="performance-insights-top-queries"></a>

기본적으로 **상위 쿼리** 탭에는 DB 로드에 가장 큰 기여를 하는 쿼리가 표시됩니다. 쿼리 텍스트를 분석하여 쿼리를 조정하는 데 도움이 될 수 있습니다.

**Topics**
+ [쿼리 다이제스트](#performance-insights-top-queries-digests)
+ [대기별 로드(AAS)](#performance-insights-top-queries-aas)
+ [자세한 쿼리 정보 보기](#performance-insights-top-queries-query-info)
+ [명령문 쿼리 텍스트에 액세스](#performance-insights-top-queries-accessing-text)
+ [명령문 쿼리 텍스트 보기 및 다운로드](#performance-insights-top-queries-viewing-downloading)

## 쿼리 다이제스트
<a name="performance-insights-top-queries-digests"></a>

*쿼리 다이제스트*는 구조적으로 유사하지만 다른 리터럴 값을 가질 수 있는 여러 실제 쿼리의 합성입니다. 다이제스트는 하드 코딩된 값을 물음표로 바꿉니다. 예를 들어 쿼리 다이제스트는 다음과 같습니다:

```
{"find":"customerscollection","filter":{"FirstName":"?"},"sort":{"key":{"$numberInt":"?"}},"limit":{"$numberInt":"?"}}
```

이 다이제스트에는 다음 하위 쿼리가 포함될 수 있습니다:

```
{"find":"customerscollection","filter":{"FirstName":"Karrie"},"sort":{"key":{"$numberInt":"1"}},"limit":{"$numberInt":"3"}}
{"find":"customerscollection","filter":{"FirstName":"Met"},"sort":{"key":{"$numberInt":"1"}},"limit":{"$numberInt":"3"}}
{"find":"customerscollection","filter":{"FirstName":"Rashin"},"sort":{"key":{"$numberInt":"1"}},"limit":{"$numberInt":"3"}}
```

요약에서 문자 그대로의 쿼리 문을 보려면 쿼리를 선택한 다음 더하기 기호(`+`)를 선택합니다. 다음 스크린샷에서 선택한 쿼리는 다이제스트입니다.

![\[하위 쿼리가 하나 선택된 확장된 쿼리 다이제스트를 보여주는 상위 쿼리 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/top-queries-literal.png)


**참고**  
쿼리 요약은 유사한 쿼리 문을 그룹화하지만 중요한 정보는 수정하지 않습니다.

## 대기별 로드(AAS)
<a name="performance-insights-top-queries-aas"></a>

**상위 쿼리**에서 **대기별 로드(AAS)** 열은 각 상위 로드 항목과 관련된 데이터베이스 로드의 백분율을 나타냅니다. 이 열에는 현재 **DB 로드 차트**에서 어떤 그룹화 기준을 선택하든 그 기준에 따라 해당 항목의 로드가 반영됩니다. 예를 들어 **DB 로드차트**를 대기 상태별로 그룹화할 수 있습니다. 이 경우 **대기별 DB 로드** 막대는 쿼리가 영향을 미치는 대기 상태의 정도를 크기, 세그먼트 및 컬러 코드로 표시합니다. 또한 선택한 쿼리에 영향을 미치는 대기 상태를 표시합니다.

![\[CPU, IO 및 래치 대기 상태별로 그룹화된 데이터베이스 로드를 보여주는 막대 차트입니다. 해당 테이블에는 대기별 로드에 따른 상위 쿼리가 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/top-queries-aas.png)


## 자세한 쿼리 정보 보기
<a name="performance-insights-top-queries-query-info"></a>

**상위 쿼리** 표에서, *다이제스트 문*을 열어 해당 정보를 볼 수 있습니다. 맨 아래 창에 정보가 나타납니다.

![\[선택한 쿼리 문과 해당 쿼리 정보를 아래에 보여주는 상위 쿼리 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/top-queries-detailed.png)


다음과 같은 식별자(ID) 유형은 쿼리 문과 연결되어 있습니다.

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

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

## 명령문 쿼리 텍스트에 액세스
<a name="performance-insights-top-queries-accessing-text"></a>

기본적으로 **상위 쿼리** 테이블의 각 행은 각 쿼리문에 대해 500바이트의 쿼리 텍스트를 보여줍니다. 다이제스트 문이 500바이트 이상인 경우 성능 개선 도우미 대시보드에서 해당 문을 열어 더 많은 텍스트를 볼 수 있습니다. 이 경우 표시되는 쿼리의 최대 길이는 1KB입니다. 하위 SQL 문을 보는 경우 **다운로드**를 선택할 수도 있습니다.

## 명령문 쿼리 텍스트 보기 및 다운로드
<a name="performance-insights-top-queries-viewing-downloading"></a>

성능 개선 도우미 대시보드에서 쿼리 텍스트를 보거나 다운로드할 수 있습니다.

**성능 개선 도우미 대시보드에서 더 많은 쿼리 텍스트를 보려면 다음과 같이 하십시오**

1. [https://console.aws.amazon.com/docdb/](https://console.aws.amazon.com/docdb/) 에서 Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **성능 개선 도우미**을 선택합니다.

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

   500바이트 이상의 텍스트가 있는 SQL 문은 다음 이미지와 유사합니다:  
![\[하위 쿼리가 선택된 상위 쿼리 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/top-queries-statement.png)

1. 쿼리 정보 섹션을 조사하여 쿼리 텍스트를 더 확인합니다.  
![\[선택한 쿼리의 전체 텍스트를 보여주는 쿼리 정보 섹션입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/top-queries-query-text.png)

성능 개선 도우미 대시보드는 전체 쿼리문마다 최대 1KB까지 표시할 수 있습니다.

**참고**  
쿼리문을 복사하거나 다운로드하려면 팝업 차단을 비활성화합니다.

# 데이터베이스 로드 차트에서 확대
<a name="performance-insights-zoom-db-load"></a>

성능 개선 도우미 사용자 인터페이스의 다른 특성을 사용해 성능 데이터를 분석할 수 있습니다.

**클릭하여 끌어 확대**  
성능 개선 도우미 인터페이스에서 로드 차트의 작은 부분을 선택하여 확대해 자세히 볼 수 있습니다.

![\[확대를 위해 일부를 강조 표시하여 데이터베이스 로드를 보여주는 막대 차트입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/pi-zoom-1.png)


로드 차트의 한 부분을 확대하려면 시작 시간을 선택하고 원하는 기간 끝까지 끕니다. 이렇게 하면 선택한 영역이 강조 표시됩니다. 마우스를 놓으면 로드 차트가 선택한 영역을 확대하고 **상위 *항목*** 테이블이 다시 계산됩니다.

![\[확대된 부분과 더불어 해당하는 상위 대기 테이블을 아래에 보여주는 데이터베이스 로드 막대 차트입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/pi-zoom-2.png)
