
2026-07-17 RustFS 发了 1.0.0-beta.10,官方 warp 压测里 PUT 在 4MiB 对象上跑出 2.85× 于 MinIO。我看到这种数字第一反应是:我的机器能复现吗?还是只在 Azure 那套 4 节点 × 4 盘、32000 IOPS 的 NVMe 配置上才成立?这篇就讲怎么在你自己机器上把这套基准跑出来,以及哪些数字你能信、哪些得打折。
先把官方的测试环境摊开
复现前先对齐条件,不然数字没法比。beta.10 的压测环境是:
- 4 节点 × 4 盘,每盘 300GB,单盘 32000 IOPS,Ubuntu 24.04,8 vCPU / 16GB RAM,跑在 Azure 上;
- 用 MinIO 开源的
warp工具,11 个对象尺寸、64 并发客户端、每轮跑 5 分钟,覆盖 GET / PUT / Mixed 三个阶段; - 对比对象是 MinIO
RELEASE.2026-06-06,RustFS 是1.0.0-beta.10(git tag 一致可查)。
一个中性提醒:绝对吞吐高度依赖磁盘 IOPS 和网络。你本地若是单盘 SATA 或云盘,绝对数值会低一大截,但 RustFS 相对 MinIO 的趋势通常能复现------这篇关心的是趋势,不是把官方数字当 SLA。
起一套最小可压测的 RustFS
单节点多盘(SNSD)就够跑出相对差异。注意 beta.10 起已经废弃 rustfsadmin 硬编码默认口令,必须显式设置访问密钥:
bash
export RUSTFS_ACCESS_KEY="rustfstest"
export RUSTFS_SECRET_KEY="a-strong-secret-you-set" # beta.10 起必须显式设置
export RUSTFS_VOLUMES="http://localhost:9000/data/rustfs{1...4}/mnmd"
export RUSTFS_ADDRESS=":9000"
rustfs server /data
如果你手上有 4 台机器,把上面 localhost 换成 rustfs-node{1...4} 就是分布式布局,和官方拓扑对齐。起完用 rc 探一下活:
bash
rc alias set local http://localhost:9000 rustfstest rustfstest
rc mb local/bench
rc ls local
用 warp 把 PUT / GET / Mixed 三轮跑出来
warp 是 MinIO 家的开源压测工具,对 RustFS 同样适用(S3 兼容的好处就在这)。三个最实用的子命令:
bash
warp put --host=http://localhost:9000 \
--access-key=rustfstest --secret-key=rustfstest \
--objects=10000 --obj.size=4KiB --concurrent=64 --duration=5m
warp get --host=http://localhost:9000 \
--access-key=rustfstest --secret-key=rustfstest \
--objects=10000 --obj.size=1MiB --concurrent=64 --duration=5m
warp mixed --host=http://localhost:9000 \
--access-key=rustfstest --secret-key=rustfstest \
--objects=10000 --obj.size=4MiB --concurrent=64 --duration=5m
跑完 warp 会给出各尺寸的 obj/s 和延迟。把不同 --obj.size 串起来,就能画出你机器上的「尺寸---吞吐」曲线。

读数字要诚实:PUT 全胜,GET 有区间
官方 beta.10 的 PUT 结果是 RustFS 在全部 11 个尺寸上胜出,4MiB 那档达到 2.85×。但 GET 不能一口咬定「RustFS 更快」------这张表才是完整的真相:

- 小对象(1KiB--16KiB)和大于 4MiB 的大对象,RustFS 反超;
- 100KiB--1MiB 中段 MinIO 暂时占优,其中 1MiB GET RustFS 只有 MinIO 的约 0.23×(差距最大)。
所以如果你的负载是「读多写少 + 中段尺寸为主」,别只看上面的 PUT 数字,自己用真实样本扫一遍再下结论。这也是为什么我强调要在你自己的机器上跑------官方曲线是 Azure 那套硬件的,你的硬件会平移、但形状大体不变。
收尾:你也能照做的复现清单
想验证 RustFS 的吞吐宣称,按这个顺序:
- 用上面的
RUSTFS_VOLUMES展开写法起一套分布式(或单节点多盘),用rc确认能建桶列桶; warp put/get/mixed各跑一遍,尺寸至少覆盖 4KiB / 1MiB / 4MiB 三档;- 同期起一套同硬件 MinIO(同样 4×4 盘、同样 warp 参数)做对照,算出每档的比值;
- 重点看 PUT 是否全面领先、GET 中段是否仍落后,把比值存成基线再决定全量切换。
RustFS 把「Rust 写存储、S3 兼容、Apache 2.0」三件事捏到一起,性能故事的可信度不靠口号,靠你能不能在自己的机器上复现。仓库在这:https://github.com/rustfs/rustfs 。先照上面四步走一遍,比看十篇对比稿都实在。
以下是深入学习 RustFS 的推荐资源:RustFS
官方文档: RustFS 官方文档 - 提供架构、安装指南和 API 参考。
GitHub 仓库: GitHub 仓库 - 获取源代码、提交问题或贡献代码。
社区支持: GitHub Discussions - 与开发者交流经验和解决方案。
意见反馈:GitHub Issues