在 Amazon DynamoDB 中針對限流問題進行疑難排解
DynamoDB 實作限流機制的兩個主要目的為:維持整體服務效能與成本控制。限流可作為主動防護措施,在使用量超出容量時防止效能下降,或於達到最大輸送量或服務配額時發揮成本控制作用。發生限流時,DynamoDB 會回傳特定例外狀況,說明請求被限流的原因及受影響的資源。每個限流原因皆對應特定的 CloudWatch 指標,能提供限流事件頻率與模式的進一步洞見。
下圖說明 DynamoDB 採用保護性限流機制的四種主要情境:
-
金鑰範圍輸送量超出上限 (適用於兩種模式):
對特定分割區的存取量超出內部分割區層級輸送量限制。
-
佈建輸送量超出限制 (於佈建模式中):
使用量超出為資料表或全域次要索引 (GSI) 設定的佈建容量單位 (讀取或寫入)。
-
帳戶層級服務配額超出限制 (於隨需模式中):
使用量導致資料表或 GSI 超出目前 AWS 區域內讀寫輸送量的每表帳戶層級 Service Quotas。這些配額作為後備防護機制,並可依需求提升。
-
隨需輸送量上限超出限制 (於隨需模式中):
使用量超出為資料表或 GSI 所設定的輸送量上限。這些限制是您為控制成本而特別設定的。
本指南旨在協助您理解並處理 DynamoDB 的限流機制。首先,我們將協助您透過診斷架構辨識影響工作負載的限流類型。
接著,解決方案指南章節針對各限流情境提供具體建議,包括用於偵測與分析的 CloudWatch 監控指標,以及最佳化步驟建議。採用此結構化方法可協助您更準確地診斷限流根因,並實施適當解決方案,以確保 DynamoDB 資料表高效運作。
開始之前,請依照 限流診斷 了解如何判定影響工作負載的限流類型,並採用建議的解決策略。