如何计算DynamoDb表的初始自动缩放限制

时间:2019-01-07 10:39:17

标签: amazon-dynamodb dynamodb-utilization

我们的桌子上写的很突然,预计每周一次。我们启用了自动缩放功能,其预配置容量为5个WCU,目标利用率为70%。这足以满足我们的非高峰(非突发)流量。但是,在突发写入期间,WCU到达1.5-2k附近,这导致大量限制写入,最终也导致写入失败。

1)自动缩放是否适合这种用例?

2)如果是,我们的初始配置容量应该是什么?

2 个答案:

答案 0 :(得分:0)

否,自动缩放不适合您的需求。进行扩展需要几分钟,并且每次都需要增加固定百分比的当前容量。每天向上或向下缩放的次数也很有限,因此几分钟之内您就无法从5扩展到2,000。您甚至可能在几个小时之内就不会收到。

我建议尝试按需模式,或者在实际需要之前将容量手动设置为2,000(它并不能立即扩展)。

我强烈建议您阅读ENTIRE发电机文档,以获取有关主键,GSI和数据体系结构的最佳实践。视表的大小(大于10 Gb的表)而定,这2,000个单位可能会分布在各个分区上,并且您可能仍会受到限制的请求。

答案 1 :(得分:0)

此答案将告诉您为什么自动缩放对您不起作用: https://stackoverflow.com/a/53005089/4985580

此答案将告诉您如何配置SDK,以在更长的时间段内重试操作(从而避免由于出现高峰请求而导致的操作失败)。 What should be done when the provisioned throughput is exceeded?

您最终应该将表格移至on-demand

  

对于使用按需模式的表,DynamoDB可立即容纳   客户的工作负载随时间增加或减少到以前的水平   观察到的流量水平。如果流量达到新的高峰,   DynamoDB可以迅速适应以适应工作量。