

# CloudWatch 스로틀링 지표
<a name="TroubleshootingThrottling-cloudwatch"></a>

이 페이지에서는 DynamoDB 테이블 및 인덱스의 스로틀링 문제를 식별, 진단 및 해결하도록 특별히 설계된 CloudWatch 지표에 대한 포괄적인 가이드를 제공합니다.

**일반 스로틀링 지표**  
+ `ThrottledRequests`
  + 요청 내의 어떤 이벤트가 스로틀링될 때마다 1씩 증가하며, 해당 요청 내 개별 이벤트가 몇 개 스로틀링되든 상관없이 적용됩니다. 예를 들어 테이블의 항목을 글로벌 보조 인덱스(GSI)로 업데이트하는 경우 기본 테이블에 대한 쓰기 작업, 각 인덱스에 대한 쓰기 작업 등과 같은 여러 이벤트가 발생합니다. 이러한 개별 이벤트 중 하나라도 스로틀링되면 `ThrottledRequests` 지표는 단 한 번만 증가합니다.

    이 동작은 스로틀링의 실제 범위를 가릴 수 있으므로 DynamoDB 성능을 모니터링하고 문제 해결할 때 이해해야 합니다. `ThrottledRequests`지표와 `ReadThrottleEvents`, `WriteThrottleEvents`와 같은 특정 이벤트 수준 지표 및 `ReadKeyRangeThroughputThrottleEvents`와 같은 대상 지표를 예로 들어 비교합니다. 이러한 원인별 지표의 전체 목록은 이 페이지에서 확인할 수 있습니다. 각 지표는 스로틀링 예외 내에서 캡처된 특정 스로틀링 사유에 해당합니다. 스로틀링 이벤트 발생 시 이러한 사유를 확인하고 해석하는 방법에 대한 안내는 [스로틀링 진단](throttling-diagnosing-workflow.md) 섹션을 참조하세요. 해당 섹션에서는 스로틀링 문제의 근본 원인을 식별하고 해결하는 방법을 제공합니다.
+ `ReadThrottleEvents`
  + 테이블 또는 GSI에 프로비저닝된 RCU를 초과하는 요청이 있는지 확인합니다.
+ `WriteThrottleEvents`
  + 테이블 또는 GSI에 프로비저닝된 WCU를 초과하는 요청이 있는지 확인합니다.

**원인별 세부 스로틀링 지표**  
**온디맨드 처리량 스로틀링**  
+ `ReadMaxOnDemandThroughputThrottleEvents`
  + 온디맨드 최대 처리량으로 인해 스로틀된 읽기 요청 수입니다.
+ `WriteMaxOnDemandThroughputThrottleEvents`
  + 온디맨드 최대 처리량으로 인해 스로틀된 쓰기 요청 수입니다.
**계정 수준 스로틀링**  
+ `ReadAccountLimitThrottleEvents`
  + 계정 한도로 인해 스로틀된 읽기 요청 수입니다.
+ `WriteAccountLimitThrottleEvents`
  + 계정 한도로 인해 스로틀된 쓰기 요청 수입니다.
**파티션 수준 스로틀링**  
+ `ReadKeyRangeThroughputThrottleEvents`
  + 파티션 한도로 인해 스로틀된 읽기 요청 수입니다.
+ `WriteKeyRangeThroughputThrottleEvents`
  + 파티션 한도로 인해 스로틀된 쓰기 요청 수입니다.

**용량 분석 지표**  
+ `OnlineIndexConsumedWriteCapacity`
  + 기존 테이블에 새 GSI를 추가하면 DynamoDB는 기본 테이블의 데이터를 새 인덱스로 복사하는 백필 작업을 수행합니다. 이 프로세스는 쓰기 용량 단위를 소모합니다. `OnlineIndexConsumedWriteCapacity` 지표는이 특정 소모량을 추적합니다.

     이 소모량은 `ConsumedWriteCapacityUnits`가 추적하는 일반적인 쓰기 작업과는 별도로 추가적으로 발생합니다. GSI에 대한 일반적인 `ConsumedWriteCapacityUnits` 지표에는 초기 인덱스 생성 과정에서 소모된 쓰기 용량이 포함되지 않습니다.
+ `ProvisionedReadCapacityUnits` 및 `ProvisionedWriteCapacityUnits`
  + 지정된 기간 동안 테이블 또는 지정된 글로벌 보조 인덱스에 대해 소비된 프로비저닝된 읽기 또는 쓰기 용량 단위 수를 확인합니다.
  + `TableName` 차원은 기본적으로 테이블에 대한 `ProvisionedReadCapacityUnits`만 반환한다는 점에 유의하세요. 글로벌 보조 인덱스에 대해 프로비저닝된 읽기 또는 쓰기 용량 단위 수를 보려면 `TableName` 및 `GlobalSecondaryIndexName`을 모두 지정해야 합니다.
+ `ConsumedReadCapacityUnits` 및 `ConsumedWriteCapacityUnits`
  + 지정된 기간 동안 소비된 읽기 또는 쓰기 용량 단위의 수를 확인합니다. `ConsumedWriteCapacityUnits`에는 초기 인덱스 생성 과정에서 소비된 쓰기 용량은 포함되지 않습니다.

DynamoDB CloudWatch 지표에 대한 자세한 내용은 [DynamoDB 지표 및 차원](metrics-dimensions.md) 섹션을 참조하세요.