西部数据 OpenFlex Data24 性能测试
我们最近在 Western Digital OpenFlex Data24 上使用 WARP 基准测试工具对 MinIO S3 性能进行了基准测试。
Western Digital 的 OpenFlex Data24 NVMe-oF 存储平台将 NVMe 闪存的高性能扩展到共享存储。它通过高性能以太网网络提供 NVMe SSD 的低延迟共享,以提供与本地连接的 NVMe SSD 相似的性能。业界领先的连接性,使用 Western Digital RapidFlex 网络适配器,允许最多六个主机连接到无交换机。这种高密度和高容量存储阵列旨在提供高可用性和企业级可靠性。您可以在我们的 参考硬件 页面上了解有关 OpenFlex Data24 的更多信息,包括配置和 MinIO 定价。
OpenFlex Data24 配置为每个 NVMe SSD 两个命名空间,MTU 为 2200,所有六个 100 GbE 网络端口使用单个子网。这样做是为了在单个 100 GbE 网络端口/IP 上为每个服务器提供 8 个驱动器。
我们的性能测试结果简直令人惊叹。
我们运行了 WARP S3 基准测试 来衡量使用 OpenFlex Data24 的 MinIO 的读取/获取和写入/放置性能。WARP 是 MinIO 开发和维护的开源 S3 性能基准测试工具。
我们在测试中测得的平均读取吞吐量(获取)为 54.76 GB/秒,平均写入吞吐量(放置)为 24.69 GB/秒。
这种惊人的性能是 MinIO 通常用于提供资源密集型工作负载(例如高级分析、AI/ML 和其他现代云原生应用程序)的原因。这将是更换 HDFS 数据湖、在回迁数据时构建内部 S3 替代品或在 Kubernetes 上构建内部对象存储即服务以支持 DevOps 团队的绝佳硬件选择。
让我们深入了解详细信息。
架构
我们的测试环境由六台 MinIO 对象存储服务器组成,这些服务器通过 Mellanox Sn2700 网络交换机连接到一台 OpenFlex Data24。交换机和服务器均根据 Western Digital 无损最佳实践指南(可从 Western Digital 销售获得)进行配置。安装并配置了最新版本的 MinIO(2022-02-14),并遵循标准设置程序,以及每个服务器的额外配置,以启用无损网络并在 MinIO 服务启动之前连接到 OpenFlex Data24 设备。
为了更准确地复制真实客户部署,我们将存储集群(MinIO 服务器和 OpenFlex Data24)与六个运行 WARP S3 基准测试工具的负载生成客户端配对,以生成 S3 流量并衡量性能。每个客户端都配备了 CentOS 8.3.2011、Mellanox ConnectX-5 100 GbE 网络卡、AMD Epyc 7542 CPU 和 512 GB RAM。
所有设备均通过 100 Gbps 以太网连接,所有网络在物理上进行分段,以实现最大可用性和性能。
系统评估
6 个 MinIO 服务器节点中的每一个都配备了 CentOS 8.3.2001、Mellanox ConnectX-6 100 GbE 网络卡、Intel Xeon Gold 6354 CPU 和 512GB RAM。每个服务器都配备了 8 个位于 OpenFlex Data24 中的 NVMe 驱动器。
我们运行了 dperf 和 fio 来确定原始驱动器性能。dperf 结果表明,读取最大吞吐量为 9.2 GB/秒,写入最大吞吐量为 7.4 GB/秒,而 fio 结果表明,每个服务器的读取最大吞吐量为 8.56 GB/秒,写入最大吞吐量为 6.97 GB/秒。 根据这些结果,此 6 节点 MinIO 集群配置的计算理论最大值为 52.2 或 51.36 GB/秒(获取)和 22.2 或 20.91 GB/秒(放置)。请注意,在这些计算中,原始写入吞吐量已为集群估计值削减,以考虑数据奇偶校验开销。
标准 MinIO 对象存储配置设置了客户端网络和集群网络。客户端网络用于为客户端和应用程序提供 IO 请求。集群网络用于复制或擦除编码数据并将其分发到存储节点。对于此解决方案,它包含 OpenFlex Data24,我们需要一个额外的网络来支持 NVMe-oF 存储网络。实现性能的关键是使所有网络段尽可能对称。为此,我们建议在整个解决方案中使用 100GbE 网络。
在 MinIO 的几乎所有情况下,网络都是瓶颈,但这里并非如此,因为使用了额外的 100 GbE 网络将数据分布到整个集群。因此,MinIO 能够充分利用可用的底层服务器和存储硬件性能。测试是在 100 Gb/秒网络上进行的,每个节点的最大可用带宽为 12.5GB/秒(100 Gbit/秒相当于 12.5 Gbyte/秒,(8Gbit = 1Gbyte))。因此,六个节点的总带宽应允许高达 72.5 GB/秒(600 Gb/秒)(获取)和 36.25 GB/秒(300Gb/秒)(放置)。这进一步证明了理想的基线部署配置是推荐的配置,为 MinIO 集群中每个节点提供两倍数量的驱动器路径。
结果
我们以多种配置运行了 WARP(对象大小在 4KiB 到 128KiB 之间),以测量最佳读取/获取和写入/放置性能。结果总结如下,令人惊叹。
此测试最大限度地利用了每个服务器的 8 个 SSD 驱动器。单个 SSD 驱动器的吞吐量为 1.07 GB/秒。由于每个 MinIO 节点分配了 8 个 SSD 驱动器,因此我们可以预期每个节点的最大吞吐量为 8.6GB/秒,总吞吐量为 51.60 GB/秒。
从带宽方面来看,我们记录了获取流量的最大值为 51 GiB/秒(54.76 GB/秒),放置流量的最大值为 22 GiB/秒(23.62 GB/秒)。这些结果与估计的最大吞吐量一致。
如您所见,OpenFlex Data24 上的 MinIO 超过了我们的预期。真是个惊喜!
强大的组合
对象存储性能是成功云原生应用程序开发和部署的关键需求。一次又一次的基准测试都证实,毫无疑问,MinIO 是地球上最快的对象存储。将我们高度可扩展和高性能的软件与 Western Digital 的密集、灵活且快速的硬件相结合,使您能够构建最快速和最用户友好的对象存储环境之一。
本文报道的性能结果进一步强调了对象存储适合满足流分析、AI/ML 和数据湖分析中对苛刻用例的要求。
下载完整报告,OpenFlex Data24 和 MinIO 对象存储解决方案测试报告,以获取更多详细信息,包括在您自己的硬件或云实例上复制这些测试的具体步骤。
如果您想详细讨论结果或询问有关对环境进行基准测试的问题,请加入我们 slack 或通过电子邮件与我们联系 hello@min.io.