对ceph集群后台的benchmark可以使用rados bench工具,详见这篇文档。
我站在使用者角度,从VM里对ceph磁盘的IO再进行一次测试。
首先使用dd,这是顺序写,结果如下:
IO吞吐量是200MB/s左右。在dd的同时运行iostat -x命令,看到的结果也接近:
然后,使用sysbench对IO进行随机读写测试,方法如下:
(1)安装sysbench
1 | apt-get install sysbench |
(2)在ceph磁盘上,准备一批文件,总共45GB
1 | sysbench -- test =fileio -- file -total-size=45G prepare |
(3)对这批文件执行随机IO测试
1 | sysbench -- test =fileio -- file -total-size=45G -- file - test -mode=rndrw --init-rng=on --max- time =300 --max-requests=0 run |
(4)测试完后删除文件
1 | 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的数十倍。因此,针对存储系统的优化还需继续进行。