

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Amazon DynamoDB 中針對限流問題進行疑難排解
<a name="TroubleshootingThrottling"></a>

DynamoDB 實作限流機制的兩個主要目的為：維持整體服務效能與成本控制。限流可作為主動防護措施，在使用量超出容量時防止效能下降，或於達到最大輸送量或服務配額時發揮成本控制作用。發生限流時，DynamoDB 會回傳特定例外狀況，說明請求被限流的原因及受影響的資源。每個限流原因皆對應特定的 CloudWatch 指標，能提供限流事件頻率與模式的進一步洞見。

下圖說明 DynamoDB 採用保護性限流機制的四種主要情境：

1. **金鑰範圍輸送量超出上限 (適用於兩種模式)**：

   對特定分割區的存取量超出[內部分割區層級輸送量限制](bp-partition-key-design.md)。

1. **佈建輸送量超出限制 (於佈建模式中)**：

   使用量超出為資料表或全域次要索引 (GSI) 設定的[佈建容量單位](provisioned-capacity-mode.md) (讀取或寫入)。

1. **帳戶層級服務配額超出限制 (於隨需模式中)**：

   使用會導致資料表或 GSI 超過目前 AWS 區域中讀取/寫入輸送量[的每個資料表帳戶層級服務配額](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ServiceQuotas.html#default-limits-throughput)。這些配額作為後備防護機制，並可依需求提升。

1. **超過隨需輸送量上限 （在隨需模式下）**：

   使用量超出為資料表或 GSI 所設定的[輸送量上限](on-demand-capacity-mode-max-throughput.md)。這些限制是您為控制成本而特別設定的。

![此圖說明 DynamoDB 在佈建模式與隨需模式中可能對請求進行限流的四個主要原因。](http://docs.aws.amazon.com/zh_tw/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)