我该如何解决 DynamoDB Auto Scaling 的问题?

上次更新时间:2020 年 7 月 9 日

我在我的表上启用了 Amazon DynamoDB Auto Scaling,但它没有按预期运行,或我的读写活动仍然受到限制。

简短描述

DynamoDB Auto Scaling 会以您的名义创建 Amazon CloudWatch 警报。当警报被触发时,CloudWatch 警报会调用 AWS Application Auto Scaling,它会反过来通知 DynamoDB 调整表的预置吞吐容量。

DynamoDB Auto Scaling 只会在工作负载在几分钟内被抑制或提高时修改预置吞吐。例如,假设您将最小读取容量单位 (RCU) 设置为 100,目标使用率设置为 70%:

  • DynamoDB Auto Scaling 会在使用率至少连续两分钟超过 70 个 RCU 时增加预置容量。
  • DynamoDB Auto Scaling 会在使用率低于目标 20% 或更低(50 个 RCU),而且持续 15 分钟时减少预置容量。

解决方法

要排查 DynamoDB Auto Scaling 的问题:

  • 确保您未删除该 DynamoDB Auto Scaling 创建的 CloudWatch 警报。如果您删除了,DynamoDB Auto Scaling 可能无法按预期运行。如果您不小心删除了 CloudWatch 警报,然后在表上禁用启用 Auto Scaling。当您执行此操作时,CloudWatch 会自动重新创建警报。
  • 不要依赖 DynamoDB Auto Scaling 处理偶尔的短时间活动峰值。DynamoDB Auto Scaling 最适合被用于处理流量的逐渐升高或降低。表的内置突增容量会处理偶尔的活动峰值。
  • 若表的流量经常不可预测,使用 UpdateTable 操作以便将账单模式设置为 PAY_PER_REQUEST。这样做会启用按需模式,该模式会立即调整吞吐量来处理工作负载。

这篇文章对您有帮助吗?


您是否需要账单或技术支持?