

# CloudWatch 节流指标
<a name="TroubleshootingThrottling-cloudwatch"></a>

本页提供 CloudWatch 指标的综合指南，专门用于帮助您识别、诊断并解决 DynamoDB 表和索引中的节流问题。

**常规节流指标**  
+ `ThrottledRequests`
  + 当某个请求中的任意事件受限制时，无论该请求中有多少个单独的事件受限制，计数都会增加 1。例如，在某个具有全局二级索引（GSI）的表中更新一个项目时，会发生多个事件：对基表的写入操作和对每个索引的写入操作。如果这些单个事件中的任何一个受到限制，则 `ThrottledRequests` 指标只会增加 1。

    在监控 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)。