我有一个需求,需要将一个excel表批量上传至DynamoDB表,最大行数为20万行。批量上传的网站使用频率会比较低,所以我们可以假设一次只处理1-2次批量上传。在后端,我使用Apache POI API将excel表解析成DynamoDB项目。
因为我们最多只能发送25个项目。batchWriteItem
调用,目前的延迟大约是15分钟(900秒)才能完全上传所有20万个项目。因此,我打算实现多线程来执行多个? batchWriteItem
API的并行调用。你能帮助我了解哪些EC2主机类型最适合为此目的的多线程。
任何参考资料都会非常有帮助。
通常情况下,使用具有多个CPU的实例类型会有助于多线程。
然而,你所描述的行为是在网络上而不是在CPU上等待。因此,你描述的操作很可能没有受到CPU利用率的严重影响。
回答你的问题的最好方法是建议你: 1. 实验不同的实例类型 以找到最适合你的应用需求组合的那一个。
请注意,较小的实例具有较少的网络带宽,因此您可能需要选择较大的实例类型,以避免在网络带宽上被节流。这可能会导致多余的CPU没有被充分利用。