使用 COSBench 对 MinIO 进行基准测试

MinIO benchmarks with COSBench

MinIO 是一个与 AWS S3 兼容的对象存储服务器,可以部署在各种硬件和软件平台上。一致的 S3 API 以及在各种平台上的部署自由度使 MinIO 成为理想的云存储平台。

MinIO 服务器的多功能性使其难以评估性能,因为几个因素决定了整体性能。这些因素包括使用的存储驱动器、可用网络带宽、可用 RAM 和可用处理能力。这些细节可能因部署和用户而异,因此无法声明一个对所有人有效的通用性能数字。

为了简化,我们选择了云提供商提供的最快 NVMe 存储驱动器来测试 MinIO 服务器性能。以下是用于基准测试的配置详细信息。

硬件配置

以下是使用 10GiB 文件的 NVMe 磁盘 I/O 性能(使用 Linux dd 命令测量)

磁盘 I/O 性能

MinIO 单节点部署

我们测试了使用的对象大小,分别为 256 KiB、1 MiB、5 MiB、10 MiB 和 32 MiB,每个大小都有 128 到 2048 个并行线程。

写入操作

当 1024 个并行线程尝试写入 32 MiB 对象时,单节点部署写入带宽使用率峰值约为 2.79 GiB/秒。

文件系统部署的写入带宽

当 128 个线程尝试写入每个 256 KiB 对象时,写入吞吐量峰值达到 4875 ops/秒。

文件系统部署的写入吞吐量

读取操作

读取操作使用类似的并行工作数量和对象大小进行基准测试。MinIO 单节点部署读取带宽峰值约为 2.51 GiB/秒,当 512 个并行线程尝试读取 32 MiB 对象时。

文件系统部署的读取带宽

MinIO 单节点部署读取吞吐量峰值约为 9544 ops/秒,当 512 到 2048 个并行线程尝试读取 256 KiB 对象时。

文件系统部署的读取吞吐量

MinIO 分布式擦除码部署

接下来,让我们看看 MinIO 分布式擦除码模式。该设置包括 10 个服务器实例和 10 个客户端机器。对象大小为 256 KiB、1 MiB、5 MiB、10 MiB、32 MiB 和 64 MiB,每个大小都有 128 到 8192 个并行线程。

写入操作

当 2048 个并行线程写入 64 MiB 对象时,分布式擦除设置写入带宽使用率峰值约为 8.8 GiB/秒。

分布式擦除的写入带宽

当 8192 个并行线程写入 256 KiB 对象时,写入吞吐量峰值约为 1200 ops/秒。

分布式擦除的写入吞吐量

读取操作

仅使用读取操作,带宽使用率峰值达到 8.17 GiB/秒,当 8192 个并行线程写入 10 MiB 对象时。

分布式擦除的读取操作

当 128 个并行线程写入 256 KiB 对象时,读取吞吐量峰值达到 1556 ops/秒。当 8192 个线程执行相同操作时,读取吞吐量达到 1552 ops/秒。

分布式擦除的读取吞吐量

用于基准测试的 COSBench 配置文件在我们 基准测试库 中提供。


同时,帮助我们了解您的用例以及我们可以如何更好地为您提供帮助!填写 我们最佳 MinIO 部署表单(不到一分钟即可完成),并有机会在 MinIO 网站上展示您的 MinIO 私有云设计,并将其展示给 MinIO 社区。