对ceph集群后台的benchmark可以使用rados bench工具,详见这篇文档。
我站在使用者角度,从VM里对ceph磁盘的IO再进行一次测试。
首先使用dd,这是顺序写,结果如下:
IO吞吐量是200MB/s左右。在dd的同时运行iostat -x命令,看到的结果也接近:
然后,使用sysbench对IO进行随机读写测试,方法如下:
(1)安装sysbench
apt-get install sysbench
(2)在ceph磁盘上,准备一批文件,总共45GB
sysbench --test=fileio --file-total-size=45G prepare
(3)对这批文件执行随机IO测试
sysbench --test=fileio --file-total-size=45G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run
(4)测试完后删除文件
sysbench --test=fileio --file-total-size=45G cleanup
得到的测试结果如下:
随机IO才645 KB/s,这个结果是有问题的,说明我们的分布式存储性能不合格。
后来大家讨论取消条带化,在rbd client里使用ceph默认的block size=4M进行测试,结果如下:
情况稍微好一点,但还是不理想,读写1MB/s都达不到。作为对比,我们看下SSD磁盘,采用同样参数进行测试的结果:
SSD达到68M/s的随机读写速率,是ceph的数十倍。因此,针对存储系统的优化还需继续进行。