我有一个使用DynamoDB的应用程序,我注意到它们只是实现了自动缩放,这很棒。我喜欢这个概念,我的应用程序的时机非常完美。但是我仍然遇到一些问题,我想知道我是否无法调整要删除的设置。
我的应用程序在使用中获得了明显的高峰,所以我认为这是一个理想的使用方法,但是对于自动缩放,我仍然会受到一些限制。这是我过去12小时的阅读图表:
正如你所看到的,当它达到峰值时,使用率设置得很低,所以它会在更新开始之前一两分钟限制,然后才能正常工作。这是可以的,我猜并且比不缩放更好,但我希望它根本不用油门......
有没有办法告诉DynamoDB永不加油,除非它超过100(或200或我设置的任何上限)?只要它有一个浪涌,就可以将吞吐量提高15分钟,或者直到浪涌结束才能达到?
答案 0 :(得分:2)
Autoscaling使用CloudWatch。您可以通过转到CloudWatch仪表板查看这些警报,并在说明中查找包含您的表名称和“请勿编辑或删除”的警报。
为什么我告诉你这个?
嗯,CloudWatch有一些最小的周期粒度。目前是1分钟。这意味着它会在向听众发射任何事件之前至少等待1分钟。因此,在负载开始后至少需要一分钟,直到容量增加。实际上它会更多,因为增加容量也需要时间。结论:如果你有一个非常大的峰值,一些请求可能会被限制,因为自动缩放将不会生效,bursting可能会耗尽。
简单但昂贵的解决方案将增加初始容量。
如果您事先知道即将到来的峰值(例如,您有定期运行某些作业,或者客户在某些时间达到峰值),您可以使用API以编程方式修改自动调节。