S3 基准测试:HDD 上的 MinIO

高性能对象存储是当今企业领域最热门的话题之一。
一方面,对象存储已成为企业存储策略(公有云或私有云)中不可或缺的一部分——以 TB 或 PB 为单位衡量时,承担着企业绝大部分存储负担。
另一方面,传统上,对象存储在企业中扮演着相对低效用的角色——作为数据归档、备份来源和灾难恢复点。这是传统对象存储解决方案性能特征所导致的。
这种情况正在改变。对象存储正在变得越来越高效,带来了新的用例和更高的效用。
亚马逊提升了游戏水平,提供了一种性能优于设备供应商的服务,但对于寻求从对象存储中获得“类似 Hadoop”性能的企业而言,需要寻找旨在提供吞吐量的软件。
这就是 MinIO 的用武之地。四年前,我们刚起步时,其理念是设计一个简单、安全、可扩展且快速的。非常非常快速的。对象存储系统。
那么,什么是快速呢?
这是一个很好的问题,并且伴随着权衡。异构硬件可以掩盖编写不良的软件,但这种解决方案存在局限性,并且会破坏价格/性能曲线。
快速关乎软件。充分利用底层硬件(无论是商品硬件还是异构硬件)的软件。但毫无疑问,快速需要在现成的商品硬件上运行。
我们最近发布了系列文章中的第一篇性能基准测试。我们从现成的硬件、易于获取的网络和标准计算实例开始。
出于基准测试的目的,MinIO 使用了 AWS 裸机、存储优化的实例,这些实例配备了本地硬盘驱动器和 25 GbE 网络。
MinIO 选择了wasabi-tech 的 S3-benchmark 来执行我们的基准测试。此工具从单个客户端到单个端点执行基准测试。在我们的评估过程中,此简单工具在多次运行中产生了始终如一且可重复的结果。
结果非常出色。
MinIO 能够使用上面列出的商品配置实现 10.81 GB/秒的读取性能和 8.57 GB/秒的写入性能。实际上,这意味着 MinIO 对象服务器受到硬盘驱动器吞吐量的限制,而硬盘驱动器的吞吐量远低于网络。但是,25GbE 网络上还有额外的性能可用,因为它没有完全饱和。
鉴于在这些测试期间完全利用了驱动器的带宽,如果可用更多驱动器,则可以预期更高的吞吐量。
但是,生产部署通常需要加密,并且加密会带来一些开销。MinIO 的高度优化的加密算法实现利用了 SIMD——最大程度地减少了开销。实际上,在我们的测试中,差异可以忽略不计或“淹没在噪声中”,从而允许企业将加密作为默认设置。
基准测试的细节至关重要,我们已发布了一篇论文,介绍了这些结果的生成方式,以便第三方可以复制这些结果。
但是,对企业的启示非常明确。以这种吞吐量,一整套新的工作负载开始发挥作用。Spark、Presto、Tensorflow,仅举几例。此外,分散式架构提供了显著的灵活性来调整您的硬件。我们有一篇关于NVMe 的类似论文。
如果您想更深入地了解结果,请发送邮件至hello@min.io 或点击页面底部的表单。