动力学WCU减少的影响

时间:2017-02-16 18:50:07

标签: amazon-dynamodb

我有一个要求,我需要用大量数据初始化我的dynamodb表。在15分钟左右说1M左右,所以我必须将WCU设置为10k,但之后我的负载大约是每秒1k,所以我将WCU从10k减少到1k。降低WCU是否有任何性能缺陷或问题。

由于

2 个答案:

答案 0 :(得分:1)

通常,假设写入请求不超过写入容量单位(即,您没有提到项目大小),则不应存在任何性能问题。

  

如果在任何时候您预计流量增长可能超过您的流量增长   预配置吞吐量,您只需更新您的配置   吞吐量值通过AWS管理控制台或Amazon DynamoDB   蜜蜂。您还可以减少表的预配置吞吐量值   随着需求减少。 Amazon DynamoDB将保持可用状态   将吞吐量水平向上或向下扩展。

请考虑以下情况: -

假设项目大小为1.5KB。

首先,您将确定每个项目所需的写入容量单位数,向上舍入到最接近的整数,如下所示:

1.5 KB / 1 KB = 1.5 - > 2

结果是每个项目有两个写入容量单位。现在,将其乘以每秒的写入次数(即每秒1K)。

每个项目2个写入容量单位×每秒1K写入数= 2K写入容量单位

在这种情况下,DynamoDB会在您的额外请求上抛出错误代码400。

  

如果您的应用程序执行更多读取/秒或写入/秒   您的表的预配置吞吐量容量允许,以上请求   您的预配容量将被限制,您将获得400   错误代码。例如,如果您要求1,000写入容量   单位并尝试做1,500个写入/秒的1 KB项目,DynamoDB将   只允许1,000次写入/秒通过,您将收到   额外请求的错误代码400。您应该使用CloudWatch   监控您的请求率,以确保您始终有足够的   提供吞吐量以达到您所需的请求率。

答案 1 :(得分:0)

是的,有潜在的影响。

一旦您以较高的TPS写作,就不会更多。创建了分区,以后将无法减少分区。

如果该数字高于应用程序正常运行所需的最终数字,则可能会引起问题。

了解有关DDB分区的更多信息。 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.Partitions.html