DynamoDB AutoScaling仍然节流
问题描述:
我有一个使用DynamoDB的应用程序,我发现他们只是实现了自动缩放,这非常棒。我喜欢这个概念,我的应用程序的时机非常完美。但是,我仍然遇到一些问题,我不知道我是否无法调整设置以删除。DynamoDB AutoScaling仍然节流
我的应用程序在使用中会出现明确的尖峰,所以我认为这是一个理想的使用方式,但是对于自动缩放,我仍然会受到一些限制。这里是我的最后12小时读图表:
正如你所看到的,当它钉鞋使用量设置低,所以节流一两个,直到更新踢,然后工作分钟。没关系,我认为并不比缩放更好,但我希望它不会缩小......
有没有什么办法可以告诉DynamoDB永远不会调速,除非它超过100(或200或任何我设定的上限)?只要它出现波动,吞吐量就会增加15分钟,或者等到波动结束后再进行处理。
答
Autoscaling使用CloudWatch。您可以通过转到CloudWatch控制板来查看这些警报,并查找包含您的表名称以及说明中的“不编辑或删除”警报。
为什么我要告诉你这个?
那么,CloudWatch具有一些最小的周期粒度。目前是1分钟。这意味着在向听众发射任何事件之前,它至少会等待1分钟。因此,负载开始后至少需要一分钟,直到容量增加。实际上它会更多,因为增加容量也需要时间。底线:如果您有很大的峰值,一些请求可能会受到限制,因为自动缩放不会生效,并且bursting可能会用尽。
简单但昂贵的解决方案将增加初始容量。
如果您事先了解即将到来的高峰(例如,您有一些工作定期运行,或者某些时候客户达到峰值),则可以使用API以编程方式修改自动调节。
当然 - 将您的最低容量设置得更高。 :)说到这一点,你用什么值和你的目标门槛?说真的,当然,你不能使用实际上不存在的容量。此外,看起来您正在进行大量扫描,这在容量消耗方面成本相对较高。 –
公顷,真的我想,但重点是避免额外的成本:)。我被设置为最低5,最高200,以及70%的利用率目标。我碰到50%的利用率,看看有什么......我会看看我的代码,看看我可能也在做什么过多的扫描,谢谢你的提示... – sfaust