我的 Amazon DynamoDB 按需模式表被节流,但我不知道原因。
使用按需容量模式的 DynamoDB 表会自动适应应用程序的流量大小。但是,以下情况可能会导致您的按需 DynamoDB 表被节流。
当流量在 30 分钟内超过之前峰值吞吐量的两倍时,DynamoDB 按需表可能会受到节流。
要解决此问题,请在至少 30 分钟内逐步扩大流量,然后再达到之前峰值的两倍。要监控表的吞吐量,请使用 Amazon CloudWatch 中的 ConsumedReadCapacityUnits 和 ConsumedWriteCapacityUnits 指标。要监控按需节流,请使用 ReadMaxOnDemandThroughputThrottleEvents 和 WriteMaxOnDemandThroughputThrottleEvents。
对于新的按需表,您可以立即同时驱动多达 4,000 个写入请求单元和 12,000 个读取请求单元。对于计划内或高峰期事件,使用热吞吐量将表的容量扩展到预期使用量。
如果将现有表切换到按需容量模式,则此前流量峰值为以下值之一:
表中的每个分区可以同时提供多达 1,000 个写入请求单元和 3,000 个读取请求单元。如果分区的流量超过此配额,则该分区可能会被节流。
要解决此问题,请完成以下步骤:
默认情况下,按需表的 AWS 账户级别配额为每个表 40,000 个 WCU 和 40,000 个 RCU。如果表的流量超出吞吐量配额,则该表可能会被节流。
如果您的 DynamoDB 表的全局二级索引 (GSI) 处于节流状态,则节流可能会在基表上产生反压节流。有关详细信息,请参阅了解 DynamoDB 中的 GSI 写入节流和背压以及在 DynamoDB 中使用 GSI。
如果您为按需表配置了最大吞吐量配额,则在超出吞吐量配额时会出现“ThrottlingException”错误。
根据您的使用案例,执行以下操作之一:
要监控您为表或 GSI 配置的最大吞吐量,请使用 CloudWatch 中的 OnDemandMaxReadRequestUnits 和 OnDemandMaxWriteRequestUnits 指标。
DynamoDB 节流解决方法指导
如何为我的 DynamoDB 表选择合适的主键?
为什么 DynamoDB 上的指标与 CloudWatch 指标不同?
DynamoDB 中的配额
Introducing configurable maximum throughput for DynamoDB on-demand(DynamoDB 按需模式可配置的最大吞吐量简介)
This article was reviewed and updated on 2026-03-09.
AWS Official
已回复 2 个月前
rePost Polyglot
已提问 3 年前
Tim
已发布 2 年前