【问题标题】:EC2 host type for a DynamoDB batchWrite callDynamoDB batchWrite 调用的 EC2 主机类型
【发布时间】:2020-09-22 10:15:09
【问题描述】:

我需要将 Excel 工作表批量上传到 DynamoDB 表,最大行数为 200,000。用于批量上传的网站将使用较少,因此我们可以假设在给定时间仅处理 1 - 2 个批量上传。在后端,我使用 Apache POI API 将 excel 表解析为 DynamoDB 项目。

因为我们在 batchWriteItem 调用中最多只能发送 25 个项目,所以目前延迟大约 15 分钟(900 秒)才能完全上传所有 200,000 个项目。因此,我计划实现多线程以并行执行多个batchWriteItem API 调用。您能否帮助我了解哪些 EC2 主机类型最适合用于此目的的多线程。

任何参考资料都会很有帮助。

【问题讨论】:

    标签: amazon-ec2 concurrency amazon-dynamodb java.util.concurrent


    【解决方案1】:

    通常,使用具有多个 CPU 的实例类型有助于多线程。

    但是,您描述的是在网络而不是 CPU 上等待的行为。因此,您描述的操作很可能不会受到 CPU 利用率的严重影响。

    回答您的问题的最佳方法是建议您尝试不同的实例类型以找到最适合您的应用程序需求组合的一种:

    • 选择一个实例系列(例如 m5)并尝试几种不同的大小
    • 将此与另一个系列(例如 c5)进行比较,看看改进的性能是否值得付出额外的代价
    • 监控应用程序以查找瓶颈,可能是 RAM、CPU、网络或磁盘访问

    请注意,较小的实例具有较少的网络带宽,因此您可能需要选择较大的实例类型以避免网络带宽受到限制。这可能会导致过多的 CPU 未被充分利用。

    【讨论】:

    • 感谢约翰的建议。我将尝试不同的实例类型
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-12
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 2013-09-21
    • 2015-01-06
    相关资源
    最近更新 更多