扩展MinIO:将性能从TB升级到PB

扩展MinIO:将性能从TB升级到PB


正如我们在先前的基准测试中反复展示的那样,MinIO提供了同类最佳的性能在这些基准测试中,我们选择了最高端的硬件,并测量了MinIO是否可以挤出其提供的所有资源。这证明了两个关键点:

  1. 确保MinIO利用可用的最大CPU,网络和存储。

  2. 确保MinIO并非IO瓶颈。

在达到上述证明点之后,我们将注意力转向了沿着另一个同样重要的维度来衡量MinIO的行为:

  1. 随着群集大小的增加,确保MinIO的性能不会降低。


imageLikeEmbed (2).png


上图描述了具有HDD后端的MinIO的线性可扩展性。该帖子介绍了HDD和NVMe以及我们在这些情况下看到的内容。

大规模绩效

为了大规模衡量性能,我们对NVMe和HDD后端分别进行了测试。这是因为NVMe驱动器和硬盘驱动器具有不同的缩放动态特性,并需要单独进行测量。

NVMe后端:扩展性能

单个NVMe驱动器的最大持续吞吐量为读取〜3.5 GB /秒,写入〜2.5 GB /秒这实际上意味着只需要4个NVMe驱动器即可饱和16个PCIe 2.0通道(最大16x PCIe 2.0带宽为8GB /秒)

在实际情况下,同时加载驱动器的各种工作负载将证明更多数量的驱动器是合理的。根据经验,可以将每台机器8个NVMe驱动器视为收益递减点。


imageLikeEmbed (3).png


上图描述了具有NVMe后端的MinIO的线性可扩展性

上述动态特性使NVMe后端成为扩展工作量的最佳选择,在这些工作量中,最大的吞吐量 是主要要求。

我们对8个节点和32个节点进行了测试,每个节点具有8个NVMe驱动器和100 GBe网络。每个驱动器的容量为8 TB。总可用存储为512 TB(0.5 PB)和2048 TB(2 PB)。


image-1 (4).png
MinIO上的NVMe缩放


随着节点数量从8个增加到32个,我们注意到读取性能几乎呈线性增长(〜4倍)。

注意:PUT编号似乎表示超线性可伸缩性。但是,这是由于AWS上硬件性能的可变性所致。对于32个节点的测试,它们是在AWS启动没有此问题的裸机NVMe实例(i3en.metal)之后执行的。

HDD后端:扩展存储容量

在对比NVMe驱动器,最大持续单个硬盘驱动器的吞吐量〜两个250 MB /秒读取和写入要使16个PCIe 2.0通道达到饱和,需要大约32个HDD以最高性能同时工作。由于随机性(多个IO请求)会迅速降低HDD性能,因此每台机器可以证明更多的驱动器是合理的。

与NVMe后端相比,HDD可以通过更少的服务器实现更高的存储容量,因为可以将更多驱动器打包到一个服务器中。这使HDD后端成为扩展工作量的最佳选择,其中最大的总存储容量 是主要要求。

我们对16个节点和24个节点进行了测试,每个节点有8个HDD驱动器和25 GBe网络。每个驱动器的容量为2 TB。总可用存储为256 TB和384 TB。



image-2 (1).png
MinIO上的HDD扩展


当我们将节点数从16增加到24(1.5x)时,我们注意到读取性能几乎呈线性增长。写入性能的提高少于线性的,可能是由于基准测试驱动器上的巨大负载导致随机I / O增加。请注意,在这些AWS实例中,硬件性能也显示出细微的变化。

结论

扩展总存储空间时,HDD后端必将提供更好的价格,效率和性能。NVMe后端更适合于扩展客户端可用于读取和写入数据的最大带宽。在这两种情况下,最大吞吐量都随着群集大小的增加而线性缩放。如有任何疑问,请通过sales@minio.org.cn与我联系。


上一篇 下一篇