

# Amazon DynamoDB 中的节流故障排除
<a name="TroubleshootingThrottling"></a>

DynamoDB 实施节流主要出于两个原因：维护整体服务性能和成本控制。当资源消耗速率超过容量时，节流可作为一种主动保护措施，防止性能下降；当达到最大吞吐量或服务配额限制时，节流也可作为一种成本控制机制。发生节流情况时，DynamoDB 会返回特定的异常错误以及详细信息，说明请求受限的原因以及什么资源会受到影响。对于节流情况，每条原因都会对应于特定的 CloudWatch 指标，提供对节流事件的频率和模式的更多见解。

以下图表阐述了 DynamoDB 实施保护性节流的四种主要场景：

1. **超过键范围吞吐量（在两种模式中）**：

   指向特定分区的使用量超过了[内部分区级别的吞吐量限制](bp-partition-key-design.md)。

1. **超过预置吞吐量（在预置模式中）**：

   使用量超过了为表或全局二级索引（GSI）配置的[预置容量单位](provisioned-capacity-mode.md)（读取或写入）。

1. **超过账户级别的服务配额（在按需模式中）**：

   在当前 Amazon 区域中，使用量导致表或 GSI 的读取/写入吞吐量超过[每个表的账户级服务配额](https://docs.amazonaws.cn/amazondynamodb/latest/developerguide/ServiceQuotas.html#default-limits-throughput)。这些配额起到后备保护措施的作用，可以增加。

1. **超过按需最大吞吐量（在按需模式中）**：

   使用量超过了为表或 GSI 配置的[最大吞吐量限额](on-demand-capacity-mode-max-throughput.md)。这些是您专门为控制成本而配置的限额。

![\[该图表说明了 DynamoDB 在预置和按需模式下可能限制请求的四个主要原因。\]](http://docs.amazonaws.cn/amazondynamodb/latest/developerguide/images/throttling-reasons.png)


本指南意在帮助您了解和处理 DynamoDB 中的节流问题。首先，我们通过[诊断框架](throttling-diagnosing-workflow.md)，协助您确定影响工作负载的特定节流类型。

然后，[解决方案指南](troubleshooting-throttling-diagnostics.md)部分针对每种节流场景提供具体指导，包括所要监控的 CloudWatch 指标以便进行检测和分析，以及推荐的优化步骤。遵循这种结构化方法，您可以更好地诊断造成节流情况的根本原因，并实施相应的解决方案来确保 DynamoDB 表高效运行。

要开始解决相关问题，请按照[诊断节流](throttling-diagnosing-workflow.md)中的内容，学习如何确定影响您的工作负载的节流类型，并实施推荐的解决策略。

**Topics**
+ [诊断节流](throttling-diagnosing-workflow.md)
+ [DynamoDB 节流解决方法指导](troubleshooting-throttling-diagnostics.md)
+ [了解 DynamoDB 中的全局二级索引（GSI）写入节流和背压](gsi-throttling.md)
+ [CloudWatch 节流指标](TroubleshootingThrottling-cloudwatch.md)