用于DynamoDB batchWrite调用的EC2主机类型。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于DynamoDB batchWrite调用的EC2主机类型。相关的知识,希望对你有一定的参考价值。
我有一个需求,需要将一个excel表批量上传至DynamoDB表,最大行数为20万行。批量上传的网站使用频率会比较低,所以我们可以假设一次只处理1-2次批量上传。在后端,我使用Apache POI API将excel表解析成DynamoDB项目。
因为我们最多只能发送25个项目。batchWriteItem
调用,目前的延迟大约是15分钟(900秒)才能完全上传所有20万个项目。因此,我打算实现多线程来执行多个? batchWriteItem
API的并行调用。你能帮助我了解哪些EC2主机类型最适合为此目的的多线程。
任何参考资料都会非常有帮助。
通常情况下,使用具有多个CPU的实例类型会有助于多线程。
然而,你所描述的行为是在网络上而不是在CPU上等待。因此,你描述的操作很可能没有受到CPU利用率的严重影响。
回答你的问题的最好方法是建议你: 1. 实验不同的实例类型 以找到最适合你的应用需求组合的那一个。
- 选择一个实例系列(如m5),并尝试一些不同的尺寸。
- 将其与另一个系列(如c5)进行比较,以确定改进的性能是否值得付出额外的成本。
- 监视应用程序以寻找瓶颈,这可能是RAM、CPU、网络或磁盘访问。
请注意,较小的实例具有较少的网络带宽,因此您可能需要选择较大的实例类型,以避免在网络带宽上被节流。这可能会导致多余的CPU没有被充分利用。
以上是关于用于DynamoDB batchWrite调用的EC2主机类型。的主要内容,如果未能解决你的问题,请参考以下文章
DynamoDB - JAVA - 具有低级API的BatchWrite
如何在 documentclient.batchWrite() 中使用复合主键?
将自动缩放策略应用于 DynamoDB 表时出现 ObjectNotFoundException