咨询DynamoDB停止限流时长:超预配置写容量后恢复时间
DynamoDB限流后恢复时间说明
当你的DynamoDB表因为超出预配置写入容量触发限流后,停止写入请求后的恢复时间取决于两个核心因素:突发容量池的消耗程度和当前预配置的写入容量单位(WCU)。
核心机制回顾
DynamoDB为预配置容量模式的表提供了突发容量池,用来应对短时间的流量峰值:
- 突发池的最大容量是
300秒 × 预配置WCU,但上限不超过10000 WCU(如果预配置WCU小于34,池的最大容量就是10000)。 - 当写入请求超过预配置WCU时,会优先消耗突发池里的额度;池耗尽后就会触发限流。
- 停止写入后,突发池会以每秒等于预配置WCU的速率恢复,直到填满整个池。
计算恢复时间的方法
恢复时间(秒)= (突发池最大容量 - 当前剩余突发容量) / 预配置WCU
举几个实际例子:
- 假设你预配置了100 WCU,突发池最大容量是300×100=30000。如果突发池被完全耗尽,需要
30000 / 100 = 300秒(5分钟)才能完全恢复,此时新请求不会再被限流。 - 如果只消耗了一半突发容量(剩余15000),那恢复时间就是
15000 / 100 = 150秒(2.5分钟)。
特殊情况说明
- 开启自动扩缩容:如果你的表开启了自动扩缩容,限流触发后DynamoDB可能已经自动调高了预配置WCU。此时突发池的恢复速率会基于新的WCU值,恢复时间会更短。
- 按需模式:如果表用的是按需模式,不存在预配置容量限制,DynamoDB会自动适配流量,限流情况极少。即使触发限流,停止请求后几乎不需要等待就能恢复正常写入。
内容的提问来源于stack exchange,提问作者fblundun
相关产品推荐
相关产品推荐

