為什麼我的隨需 DynamoDB 資料表受到限流?

1 分的閱讀內容
0

我的隨需 Amazon DynamoDB 資料表受到限流。

解決方法

使用隨需容量模式的 DynamoDB 資料表會自動適應應用程式的流量。不過,使用隨需模式的資料表仍可能會限流。若要疑難排解您的使用案例請參閱以下常見限流原因:

流量是前一個尖峰的兩倍以上

如果您在 30 分鐘內超過先前的流量尖峰兩倍,則可能會遇到限流的情況。在您超過先前的流量尖峰之前,最佳實務是將流量增長分散至少 30 分鐘。若要監控資料表的流量,請使用 Amazon CloudWatch 中的 ConsumedReadCapacityUnits 指標。如需詳細資訊,請參閱 DynamoDB 指標和維度

對於新的隨需資料表,您可以立即驅動多達 4,000 個寫入請求單位或 12,000 個讀取請求單位,或兩者的線性組合。

對於切換至隨需容量模式的現有資料表,前一個尖峰為下列其中一個值:

  • 資料表前一個佈建輸送量的一半
  • 視新建立隨需容量模式資料表的設定而定

如需詳細資訊,請參閱隨需容量模式的初始輸送量

流量超過每個分割區的最大值

資料表上的每個分割區最多可提供 3,000 個讀取請求單位或 1,000 個寫入請求單位,或兩者的線性組合。如果通往分割區的流量超過此限制,則分割區可能會受到限流。若要解決此錯誤,請執行下列操作:

  1. 使用適用於 DynamoDB 的 CloudWatch Contributor Insights 來識別資料表中最常存取和限流的索引鍵。
  2. 將請求隨機化至資料表,即可讓對熱分割區索引鍵提出的請求隨時間散佈。如需詳細資訊,請參閱使用寫入碎片平均分配工作負載

流量超過每個資料表的帳戶配額

對於隨需資料表,資料表層級讀取輸送量和資料表層級寫入輸送量配額適用於帳戶層級。依預設,資料表輸送量最多為 40,000 個讀取請求單位和 40,000 個寫入請求單位。如果資料表的流量超過每個資料表帳戶的輸送量配額,則資料表可能會受到限流。若要解決此問題,請使用 Service Quotas 主控台為您的帳戶增加資料表層級的讀取輸送量和寫入輸送量配額。

資料表的全域次要索引受到限流

如果您的 DynamoDB 資料表有全域次要索引受到限流,則限流可能會在基礎資料表上建立背壓限流。如需詳細資訊,請參閱全域次要索引限流會對 Amazon DynamoDB 資料表有何影響?在 DynamoDB 中使用全域次要索引

相關資訊

尖峰流量和擴展屬性

如何為 Amazon DynamoDB 資料表選擇正確的主索引鍵?

為什麼 DynamoDB 主控台上的指標與 CloudWatch 指標不同?

Amazon DynamoDB 中的服務、帳戶和資料表配額

AWS 官方
AWS 官方已更新 1 年前