我正在使用按需 DynamoDB 表,但我仍然受到限制。为什么?

上次更新时间:2020 年 8 月 25 日

我的按需 Amazon DynamoDB 表受到限制。为什么会发生这种情况?

简短描述

下面是按需表可能受到限制的两个常见原因:

  • 流量是前一个峰值的两倍以上。
  • 流量超出每个分区的最大值。

解决方法

流量是上一个峰值的两倍以上

如果您在 30 分钟内超过上一次流量峰值两倍,则可能会遇到限制。最佳做法是在达到每秒 100000 次读取之前,将您的流量增长延长至少 30 分钟。使用 Amazon CloudWatch 中的 ConsumedReadCapacityUnits 指标监控至表格的流量。有关更多信息,请参阅 DynamoDB 指标和维度

对于新的按需表,您可以立即驱动最多 4000 个写请求单位或 12000 个读请求单位,或此两者的任何线性组合。对于切换到按需容量模式的现有表格,上一个峰值是该表格上一个预置吞吐量的一半——是或者按下容量模式下新创建表格的设置(以较高者为准)。有关更多信息,请参阅按需容量模式的初始吞吐量

流量超出每个分区的最大值

表中的每个分区最多可提供 3000 个读请求单位或 1000 个写请求单位,或此两者的线性组合。如果一个分区的流量超过此限制,则该分区可能会受到限制。要解决此问题:

  1. 使用适用于 DynamoDB 的 CloudWatch Contributor Insights来标识您的表中最常访问和最常限流的键。
  2. 对至表格的请求进行随机化,以使对热分区键的请求随时间分布。有关更多信息,请参阅使用写入分区均匀分布工作负载