Ubuntu

哪個 EC2 實例散列大量 25gb 文件

  • August 13, 2020

我在 AWS 上有一個帶有大量 25GB 文件(1000 個)的 EBS(彈性塊儲存)。我想為每個文件計算一個 SHA256 和。

哪個 EC2 實例最適合此類任務(cpu 優化?許多核心?儲存優化?)。我可以以某種方式並行散列文件嗎?如何優化性能?

您將在 EBS 吞吐量方面苦苦掙扎。

較小的 m5 / m5a /m6g 實例具有高達 4,750 Mbps EBS 吞吐量= 大約 600 MB/s 最大值。像m5.24xlarge這樣的大型實例可以達到 19,000 Mbps 或 2.4 GB/s。但前提是您的 EBS 卷可以處理它,即它可能必須是 IOPS 優化卷(io1 類型)才能維持此吞吐量。

這意味著在理想條件下,可以在 3 小時到 12 小時之間從 EBS 讀取 25TB 數據(1000 個文件 x 每個 25 GB)。實際上它可能會更慢。那隻是讀取文件。

CPU 並不重要——任何 CPU 都可以以這種速度執行 sha256,因此請使用更便宜的架構,如 M6g(基於 ARM),如果它帶有多個核心(例如m6g.xlarge,具有 4 個 CPU 核心),您可以並行散列 4 個文件。儘管由於 EBS 吞吐量瓶頸,這可能不會像您預期的那樣將時間減少 4 倍。

我會Spot 實例的形式購買m6g.4xlarge,並預計需要一天的時間來散列文件。如果您的 EBS 位於無法使用 M6g (ARM) 的區域,請使用 M5a (AMD) - 它比 M5 (Intel) 便宜,並且對於散列仍然足夠強大。

希望有幫助:)

引用自:https://serverfault.com/questions/1029850