我的隨需 Amazon DynamoDB 資料表正受到限流,而我不知道原因。
使用隨需容量模式的 DynamoDB 資料表會自動依應用程式的流量量調整容量。然而,以下情況可能會導致您的隨需 DynamoDB 資料表遭到限流。
當流量在 30 分鐘內超過先前峰值輸送量的兩倍時,DynamoDB 隨需資料表可能會遭到限流。
若要解決此問題,請在達到先前峰值兩倍之前,至少用 30 分鐘逐步擴展流量。若要監控資料表的輸送量,請在 Amazon CloudWatch 中使用 ConsumedReadCapacityUnits 和 ConsumedWriteCapacityUnits 指標。若要監控隨需限流,請使用 ReadMaxOnDemandThroughputThrottleEvents 和 WriteMaxOnDemandThroughputThrottleEvents。
對於新的隨需資料表,您可以立即並同時驅動最多 4,000 寫入請求單位和 12,000 讀取請求單位。對於計畫或高峰事件,請使用預熱輸送量將資料表容量擴展至預期使用量。
如果您將現有資料表切換為隨需容量模式,則先前峰值為下列其中之一:
資料表中的每個分區可同時提供最多 1,000 個寫入請求單位和 3,000 個讀取請求單位。如果分區的流量超過此配額,則該分區可能會遭到限流。
若要解決此問題,請完成下列步驟:
預設情況下,隨需資料表具有 AWS 帳戶層級配額,每個資料表為 40,000 WCU 和 40,000 RCU。如果資料表的流量超過輸送量配額,則資料表可能會遭到限流。
如果 DynamoDB 資料表的全域次要索引 (GSI) 發生限流,則限流可能會在基礎資料表上產生反壓限流。如需更多資訊,請參閱 Understanding GSI write throttling and back pressure in DynamoDB (了解 DynamoDB 中的 GSI 寫入限流與反壓) 和 Using GSIs in DynamoDB (在 DynamoDB 中使用 GSI)。
如果您為隨需資料表設定了最大輸送量配額,當超過配額時會收到「ThrottlingException」錯誤。
根據您的使用案例,採取下列其中一個動作:
若要監控您為資料表或 GSI 設定的最大輸送量,請在 CloudWatch 中使用 OnDemandMaxReadRequestUnits 和 OnDemandMaxWriteRequestUnits 指標。
DynamoDB throttling resolution guide (DynamoDB 限流解決指南)
如何為 DynamoDB 資料表選擇良好的主索引鍵?
為什麼 DynamoDB 主控台的指標與 CloudWatch 指標不同?
Quotas in DynamoDB (DynamoDB 配額)
Introducing configurable maximum throughput for DynamoDB on-demand (為 DynamoDB 隨需模式推出可設定的最大輸送量)
This article was reviewed and updated on 2026-03-09.
AWS Official
回答 2 個月前
david
已提問 5 個月前
rePost-User-0790855
已提問 3 年前
Donnie LI
已發佈 2 年前