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