规模化性能:MinIO 使用 256 个 NVMe 驱动器突破每秒 1.4 太比特

MinIO 速度很快并非秘密。我们定期发布基准测试结果,并与 HDFS 和 AWS (Spark + Presto) 进行对比,此外还提供了 HDDNVMe 的数字。

我们最近发现 AWS 上提供了大型 NVMe 实例。实际上比我们见过的任何实例都要大。我们采购了 32 台 i3en.24xlarge 实例,每台拥有 8 个 NVMe 驱动器,总计 256 个驱动器。这比我们用于初始基准测试的 8 节点设置大了 4 倍。

我们再次选择了 Wasabi-tech 的 S3 基准测试 来执行我们的基准测试。该工具从单个客户端到单个端点进行基准测试。在我们的评估中,它在多次运行中产生了稳定且可重复的结果。

架构


测量 JBOD 性能

使用 iozone 测量了带有 O_DIRECT 的 JBOD 性能。Iozone 是一款文件系统基准测试工具,可以生成和测量文件系统的读、写等操作的性能。Iozone 命令使用 64 个并行线程、4 MB 的块大小和 O_DIRECT 选项运行。

测量了单个节点上 23.98 GB/秒的读取吞吐量和 12.939 GB/秒的写入吞吐量的最大 JBOD 性能。这表示结合所有驱动器的吞吐量。

网络性能

这些节点上的网络硬件允许最大 100 Gbit/秒。100 Gbit/秒 等于 12.5 Gbyte/秒 (1 Gbyte = 8 Gbit)。

因此,可以从这些节点中的每一个节点获得的预期最大吞吐量为 12.5 Gbyte/秒。

结果

使用仅 32 个节点,MinIO 能够在 3.2 Tbps 的总可用带宽上提供 183.2 千兆字节/秒 (1.46 Tbps) 的读取吞吐量和 171.3 千兆字节/秒 (1.37 Tbps) 的写入吞吐量。每个节点平均为读取和写入分别贡献了 45.8 Gbps 和 43 Gbps。

在这些测试中,网络几乎完全阻塞了。在此设置中,MinIO 共享了用于服务器-客户端和服务器-服务器通信的同一网络。如果有一个专用网络用于节点间通信,则吞吐量几乎可以翻倍。

此基准测试 (以及我们所有基准测试) 最好的地方在于,任何有兴趣并且拥有信用卡的人都可以复制它。作为参考,此基准测试的运行成本约为 1000 美元。

我们将在 Resources -> Benchmarks 中尽快发布完整的报告,但我们觉得有必要分享这些信息。