在 Amazon DynamoDB 中針對限流問題進行疑難排解 - Amazon DynamoDB

在 Amazon DynamoDB 中針對限流問題進行疑難排解

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

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

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

    對特定分割區的存取量超出內部分割區層級輸送量限制

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

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

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

    使用量導致資料表或 GSI 超出目前 AWS 區域內讀寫輸送量的每表帳戶層級 Service Quotas。這些配額作為後備防護機制,並可依需求提升。

  4. 隨需輸送量上限超出限制 (於隨需模式中)

    使用量超出為資料表或 GSI 所設定的輸送量上限。這些限制是您為控制成本而特別設定的。

此圖說明 DynamoDB 在佈建模式與隨需模式中可能對請求進行限流的四個主要原因。

本指南旨在協助您理解並處理 DynamoDB 的限流機制。首先,我們將協助您透過診斷架構辨識影響工作負載的限流類型。

接著,解決方案指南章節針對各限流情境提供具體建議,包括用於偵測與分析的 CloudWatch 監控指標,以及最佳化步驟建議。採用此結構化方法可協助您更準確地診斷限流根因,並實施適當解決方案,以確保 DynamoDB 資料表高效運作。

開始之前,請依照 限流診斷 了解如何判定影響工作負載的限流類型,並採用建議的解決策略。