哪个 EC2 实例可以散列大量 25gb 文件

哪个 EC2 实例可以散列大量 25gb 文件

我在 AWS 上有一个 EBS(弹性块存储),里面有大量 25GB 文件(1000 个)。我想计算每个文件的 SHA256 总和。

哪个 EC2 实例最适合执行此类任务(CPU 优化?多核?存储优化?)。我能以某种方式并行散列文件吗?我如何优化性能?

答案1

您将面临 EBS 吞吐量方面的困难。

较小的 m5 / m5a /m6g 实例高达 4,750 Mbps 的 EBS 吞吐量= 最大约 600 MB/s。较大的实例如m5.24xlarge可以达到 19,000 Mbps 或 2.4 GB/s。但前提是您的 EBS 卷可以处理它,也就是说,它可能必须是 IOPS 优化卷(io1 类型)才能维持此吞吐量。

这意味着在理想情况下,您可以从 EBS 读取 25TB 的数据(1000 个文件 x 每个 25 GB),耗时大约为 3 到 12 小时。实际上,读取速度可能会更慢。而且这还只是读取文件。

CPU 并不重要 - 任何 CPU 都可以以这种速度执行 sha256,因此使用更便宜的架构,如 M6g(基于 ARM),如果它带有多个内核(例如m6g.xlarge4 个 CPU 内核),则可以并行哈希 4 个文件。但由于 EBS 吞吐量瓶颈,这可能不会像您预期的那样将时间缩短 4 倍。

我会购买m6g.4xlargeSpot 实例预计需要一天时间才能对文件进行哈希处理。如果您的 EBS 位于 M6g (ARM) 不可用的地区,请使用 M5a (AMD) - 它比 M5 (Intel) 便宜,并且仍然足够强大以进行哈希处理。

希望有帮助:)

相关内容