了解不同场景下的 DynamoDB 热吞吐量 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

了解不同场景下的 DynamoDB 热吞吐量

以下是您在使用 DynamoDB 热吞吐量时可能会遇到的一些不同场景。

热吞吐量和不均匀的访问模式

表的热吞吐量可能为每秒 30000 个读取单位和每秒 10000 个写入单位,但在达到这些值之前,读取或写入仍可能受到节流。这可能是由于热分区造成的。虽然 DynamoDB 可以保持扩展以支持几乎无限的吞吐量,但每个分区都限制为每秒 1000 个写入单位和每秒 3000 个读取单位。如果应用程序将过多的流量带到表的一小部分分区,则甚至在达到表的热吞吐量值之前就可能发生节流。我们建议遵循 DynamoDB 最佳实践,以确保无缝可扩展性并避免热分区。

预置表的热吞吐量

假设一个预置表,它的热吞吐量为每秒 30000 个读取单位和每秒 10000 个写入单位,但目前具有的预置吞吐量为 4000 个 RCU 和 8000 个 WCU。通过更新预置吞吐量设置,可以立即将表的预置吞吐量扩展到 30000 个 RCU 或 10000 个 WCU。当您将预置吞吐量增加到超过这些值时,热吞吐量将自动调整为新的更高值,因为您已经建立了新的峰值吞吐量。例如,如果您将预置吞吐量设置为 50000 RCU,则热吞吐量将增加到每秒 50000 个读取单位。

"ProvisionedThroughput": { "ReadCapacityUnits": 4000, "WriteCapacityUnits": 8000 } "WarmThroughput": { "ReadUnitsPerSecond": 30000, "WriteUnitsPerSecond": 10000 }

按需表的热吞吐量

新的按需表将以每秒 12000 个读取单位和每秒 4000 个写入单位的热吞吐量开始。表可以立即容纳高达这些级别的持续流量。当请求超过每秒 12000 个读取单位或每秒 4000 个写入单位时,热吞吐量将自动调整为更高的值。

"WarmThroughput": { "ReadUnitsPerSecond": 12000, "WriteUnitsPerSecond": 4000 }

配置了最大吞吐量的按需表的热吞吐量

考虑一个按需表,其热吞吐量为每秒 30000 个读取单位,但最大吞吐量配置为 5000 个读取请求单位(RRU)。在这种情况下,表的吞吐量将限制在您设置的最大 5000 个 RRU 范围内。任何超过此最大值的吞吐量请求都将受到限制。但是,可以根据应用程序的需要,随时修改表特定的最大吞吐量。

"OnDemandThroughput": { "MaxReadRequestUnits": 5000, "MaxWriteRequestUnits": 4000 } "WarmThroughput": { "ReadUnitsPerSecond": 30000, "WriteUnitsPerSecond": 10000 }