0

我正在处理大量文件,如下所示:我首先将它们全部下载到 EC2 实例,然后运行一个脚本,该脚本顺序处理每个文件并将其索引到 DynamoDDB 表中(表中的每个项目对应于一行在一个文件中)。然后我下载下一批文件等。

现在我通过 AWS GUI 控制台调整预置吞吐量,它最终在下载阶段和索引阶段都是相同的。显然,这是次优的,因为在下载时我根本不与数据库交谈,所以我在此阶段所需的写入吞吐量基本上为 0。

所以我想要做的是在我开始索引时以编程方式调整预置吞吐量,然后在我停止索引并开始下载时降低。

我可以在单个请求中增加多少写入 t/p 是否有任何限制?例如,我可以将它从 5 更改为 120 吗?如果不是,我如何计算请求数量和将 t/p 从值 X 调整到值 Y(其中 X << Y)所需的时间?我是否必须为降低 t/p 做类似的计算?

我正在使用 Python 博托。

谢谢

4

1 回答 1

0

扩大规模时,您只能将写入配置翻倍,因此如果您是 5 岁,则最多可以达到 10 倍,然后等待 20-30 秒以使其生效,然后再翻倍至 20 等等。您可以按自己的喜好缩小。

根据AWS 常见问题解答

问:我可以通过单个请求更改多少我的预置吞吐量有任何限制吗?是的。Amazon DynamoDB 允许您通过单个 UpdateTable API 调用将预置的吞吐量级别更改多达 100%。如果您希望将吞吐量提高 100% 以上,只需再次调用 UpdateTable。

例如,如果您的表预置了 1,000 个单位的写入容量,则您无法使用单个 API 调用将表更新到 3,000 个,因为这超过了单个 UpdateTable 操作的最大允许更改。要将吞吐量从 1,000 提高到 3,000 个写入容量单位,只需调用 UpdateTable 以首先将吞吐量翻倍至 2,000,然后再次调用 UpdateTable 以达到 3,000 写入/秒。

于 2013-02-07T17:44:12.003 回答