更新的 NVMe 基准测试:读取速度为 2.6Tbps+

更新的 NVMe 基准测试:读取速度为 2.6Tbps+

MinIO 坚信透明度和数据驱动的讨论。这就是为什么我们发布我们的基准并挑战其他行业也这样做的原因。

这也是为什么我们开发的工具可以对性能进行干净、清晰的测量,并且可以轻松复制。我们希望人们自己测试。

此外,我们在没有调整的情况下对商品硬件进行基准测试。这与其他供应商使用的高度调整的专用硬件方法有着根本的不同,这些方法的可预测性给基准带来了坏名声。

我们要求其他行业效仿。

我们最近更新了主存储基准。对于我们的客户,由于其性价比特征,主存储使用 NVMe 驱动器。我们将很快为那些希望了解硬盘价格/性能的客户更新我们的硬盘基准。

在这篇文章中,我们将介绍基准测试环境、工具、如何自行复制以及详细结果。对于那些想快速了解的人来说,32 节点 MinIO 集群的结果可以总结如下:

实例类型

放置/写入

获取/读取

平价

mc CLI 版本 

MinIO 版本

i3en.24xlarge




165 GiB/秒

325 GiB/秒


EC:4


发布.2021-12-29T06-52-55Z


发布.2021-12-29T06-49-06Z


在聚合基础上,这提供了 1.32 Tbps 的 PUT 吞吐量和 2.6 Tbps 的 GET 吞吐量。我们相信这是业内最快的。

基准设置

MinIO 相信在向客户推荐的相同硬件上进行基准测试。对于主存储,我们推荐 NVMe。我们已经遵循这一建议一年多了,因为我们的客户向我们展示了 NVMe 的性价比特征代表了这些主存储工作负载的最佳选择。

我们使用带有本地 NVMe 驱动器和 100 GbE 网络的标准 AWS 裸机、存储优化实例来完成我们的工作。这些是 MinIO 推荐给其生产客户用于 AWS 云中的相同实例。

实例

# 节点

实例类型

中央处理器

记忆体

贮存

网络

服务器

32

i3en.24xlarge

96

768GB

8x7500GB

100Gbps


对于软件,我们使用了 AWS 上默认安装的 Ubuntu 20.04、最新版本的 MinIO 和我们内置的 Speedtest 功能。

财产

价值

服务器操作系统

发布.2021-12-29T06-52-55Z

最低版本

发布.2021-12-29T06-49-06Z

基准工具

mc 管理员速度测试

Speedtest 内置于 MinIO 服务器中,可通过控制台 UI 或mc admin speedtest命令访问。它不需要特殊技能或额外的软件。您可以在此处阅读更多相关信息

测量单驱动器性能

使用命令 dd 测量每个驱动器的性能。DD 是一种 unix 工具,用于将数据从一个文件逐位复制到另一个文件。它提供选项来控制每次读写的块大小。

这是单个 NVMe 驱动器的写入性能示例,块大小为 16MB,O_DIRECT 选项共 64 个副本。请注意,我们为每个驱动器实现了超过 1.1 GB/秒的写入性能。

Untitled (68).png

这是单个 HDD 驱动器的读取性能输出,使用 O_DIRECT 选项,块大小为 16MB,总计数为 64。请注意,我们为每个驱动器实现了超过 2.3 GB/秒的读取性能。

Untitled (69).png

测量 JBOD 性能

使用 https://github.com/minio/dperf 测量了 O_DIRECT 的 JBOD 性能。dperf 是一个文件系统基准测试工具,可以生成和测量文件系统的读写性能。默认情况下,dperf 命令使用 64 个并行线程、4MB 块大小和 O_DIRECT 运行。

Untitled (70).png

网络性能

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

因此,每个节点的预期最大吞吐量为 12.5 GB/秒。

运行 32 节点分布式 MinIO 基准测试

MinIO 在自动调谐模式下运行 Speedtest。自动调谐模式会逐渐增加负载以查明最大总吞吐量。

$ mc admin speedtest minio/

测试将运行并在屏幕上显示结果。根据您的 MinIO 集群,测试可能需要几秒到几分钟的时间来执行。标志 -v 指示详细模式。用户可以确定适当的纠删码设置。我们推荐 EC:4,但包括下面的 EC:2 和 EC:4。

MINIO_STORAGE_CLASS_STANDARD=EC:2

Untitled (71).png

MINIO_STORAGE_CLASS_STANDARD=EC:3

Untitled (72).png

MINIO_STORAGE_CLASS_STANDARD=EC:4(默认)

Untitled (73).png


结果解释

写入阶段的平均网络带宽利用率为 77 Gbit/sec,读取阶段为 84.6 Gbit/sec。这代表客户端流量以及节点间流量。此带宽中可供客户端使用的部分大约是读取和写入的一半。

在这些测试期间,网络几乎完全被阻塞。如果专用网络可用于节点间流量,则可以预期更高的吞吐量。

请注意,写入基准比读取慢,因为基准工具不考虑写入放大(来自写入期间生成的奇偶校验数据的流量)。在这种情况下,100 Gbit 网络是瓶颈,因为 MinIO 的读写性能接近硬件性能。

结论

基于以上结果,我们发现 MinIO 充分利用了可用的硬件。它的性能仅受可用的底层硬件的限制。该基准测试已使用我们针对性能工作负载推荐的配置进行了测试,并且可以在一小时内以不到 350 美元的价格轻松复制。

您可以在此处下载基准测试的 PDF 文件你可以在这里下载 MinIO 。如果您有任何疑问,请通过sales@minio.org.cn联系我们或加入Slack 社区


上一篇 下一篇