所有测试都是从连接到所有 3 个 ceph 节点的 10G 的外部服务器完成的,并且集群全部是 nvme 闪存。
当我用此配置运行 fio 时:
[global]
ioengine=rbd
clientname=admin
pool=kubernetes-prod
rbdname=image01
rw=write
bs=4m
direct=1
size=512M
runtime=30
time_based
[rbd_iodepth32]
iodepth=32
我明白write: IOPS=207, BW=830MiB/s (870MB/s)(24.4GiB/30114msec); 0 zone resets
当我运行 mount rbd 到系统并创建一个 fs 时
rbd map image01 -p kubernetes-prod --name client.admin -m 10.0.0.60:6789,10.0.0.61:6789,10.0.0.62
/sbin/mkfs.ext4 -m0 /dev/rbd0
mount /dev/rbd0 /mnt/rbd
并使用此配置运行 fio,我得到
[global]
filename=/mnt/rbd/test.bin
rw=write
bs=4m
direct=1
size=512M
runtime=30
time_based
[rbd_iodepth32]
iodepth=32
我明白write: IOPS=64, BW=258MiB/s (271MB/s)(7756MiB/30011msec); 0 zone resets
我也尝试了 cephfs,性能同样糟糕。目标是在带有 CSI 的 kubernetes 中使用它,但性能太差了,我不知道为什么安装的 rbd 速度慢了这么多。测试期间 CPU 和 RAM 并未达到最大值。
当我跑步rbd bench
或rados bench
表现更好时