2017-02-16 61 views
0

我有一个需求,我需要用大量的数据初始化我的dynamodb表。 15分钟左右1M左右,所以我必须将WCU提供给10k,但之后我的负载是每秒约1k,所以我会将WCU从10k减少到1k。在减少WCU方面是否存在性能缺陷或问题。dynamodb WCU减少的影响

感谢

+0

不,没有。一旦将所有繁重的数据写入数据库,只需降低写入容量即可。 – Zigglzworth

回答

1

一般来说,假设写请求不超过写入容量的单位(即如你没有提到的项目大小),不应该有任何性能问题。

如果在任何时候您预计流量增长可能超过您 供应量,你可以简单地通过更新AWS管理控制台或Amazon DynamoDB 的API您供应 吞吐量值。随着需求的下降,您还可以降低表 的供应吞吐量值。 Amazon DynamoDB将保持可用状态,而 会将吞吐量级别向上或向下调整。

考虑这种情况: -

假设的商品尺寸的大小是1.5KB。

首先,将确定的每个项目所需,舍入到最接近的整数的写入容量单元的数量,如图以下:

1.5 KB/1 KB = 1.5 - > 2

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

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

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

如果您的应用程序执行更多的读取/秒或写入/秒比 你的表的配置的吞吐能力允许,上述 你的供应能力的请求将被节流,您将收到400个 错误代码。例如,如果您要求1,000个写入容量为 单元,并尝试执行每秒1 KB的1500次写入,DynamoDB将只允许每秒写入1,000次,并且您将在您的额外请求上收到 错误代码400 。您应该使用CloudWatch至 监控您的请求速率,以确保始终有足够的 预配置吞吐量来实现您所需的请求速率。