DynamoDB batchWrite 调用的 EC2 主机类型
EC2 host type for a DynamoDB batchWrite call
我需要将 excel sheet 批量上传到 DynamoDB table,最大行数为 200,000。用于批量上传的网站使用频率较低,因此我们可以假设在给定时间只处理 1 - 2 次批量上传。在后端,我使用 Apache POI API 将 excel sheet 解析为 DynamoDB 项目。
因为我们只能在 batchWriteItem
调用中发送最多 25 个项目,所以当前延迟大约为 15 分钟(900 秒)才能完全上传所有 200,000 个项目。因此,我计划实施多线程以并行执行多个 batchWriteItem
API 调用。你能帮我了解哪种 EC2 主机类型最适合用于此目的的多线程。
任何参考资料都会很有帮助。
通常,使用具有多个 CPU 的实例类型有助于多线程。
但是,您描述的是在网络上等待的行为,而不是 CPU。因此,您描述的操作很可能没有受到 CPU 利用率的严重影响。
回答您问题的最佳方式是建议您试验不同的实例类型以找到最适合您的应用程序需求组合的实例:
- 选择一个实例系列(例如 m5)并尝试几种不同的尺寸
- 将它与另一个系列(例如 c5)进行比较,看看改进的性能是否值得额外的成本
- 监控应用程序以找到瓶颈,可能是 RAM、CPU、网络或磁盘访问
请注意,较小的实例具有较少的网络带宽,因此您可能需要选择较大的实例类型以避免网络带宽受到限制。这可能会导致多余的 CPU 未得到充分利用。
我需要将 excel sheet 批量上传到 DynamoDB table,最大行数为 200,000。用于批量上传的网站使用频率较低,因此我们可以假设在给定时间只处理 1 - 2 次批量上传。在后端,我使用 Apache POI API 将 excel sheet 解析为 DynamoDB 项目。
因为我们只能在 batchWriteItem
调用中发送最多 25 个项目,所以当前延迟大约为 15 分钟(900 秒)才能完全上传所有 200,000 个项目。因此,我计划实施多线程以并行执行多个 batchWriteItem
API 调用。你能帮我了解哪种 EC2 主机类型最适合用于此目的的多线程。
任何参考资料都会很有帮助。
通常,使用具有多个 CPU 的实例类型有助于多线程。
但是,您描述的是在网络上等待的行为,而不是 CPU。因此,您描述的操作很可能没有受到 CPU 利用率的严重影响。
回答您问题的最佳方式是建议您试验不同的实例类型以找到最适合您的应用程序需求组合的实例:
- 选择一个实例系列(例如 m5)并尝试几种不同的尺寸
- 将它与另一个系列(例如 c5)进行比较,看看改进的性能是否值得额外的成本
- 监控应用程序以找到瓶颈,可能是 RAM、CPU、网络或磁盘访问
请注意,较小的实例具有较少的网络带宽,因此您可能需要选择较大的实例类型以避免网络带宽受到限制。这可能会导致多余的 CPU 未得到充分利用。