ceph 测试

FIO用法:

随机读:

fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=200G -numjobs=10 -runtime=1000 -group_reporting -name=mytest

说明:

filename=/dev/sdb1      测试文件名称,通常选择需要测试的盘的data目录。
direct=1                测试过程绕过机器自带的buffer。使测试结果更真实。
rw=randwrite            测试随机写的I/O
rw=randrw               测试随机写和读的I/O
bs=16k                  单次io的块文件大小为16k
bsrange=512-2048         同上,提定数据块的大小范围
size=5g    本次的测试文件大小为5g,以每次4k的io进行测试。
numjobs=30              本次的测试线程为30.
runtime=1000            测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止。
ioengine=psync           io引擎使用pync方式
rwmixwrite=30           在混合读写的模式下,写占30%
group_reporting          关于显示结果的,汇总每个进程的信息。

此外
lockmem=1g              只使用1g内存进行测试。
zero_buffers            用0初始化系统buffer。
nrfiles=8               每个进程生成文件的数量。

测试:

ceph-client:~$ cat write.io
[write-4M]
description="write test with block size of 4M"
ioengine=rbd
#clientname=admin
pool=rbd
rbdname=foo3
iodepth=32
runtime=120
rw=randwrite
bs=4k
direct=1

fio write.io

4k随机写

write: io=102400KB, bw=5459.9KB/s, iops=1364, runt= 18755msec

在OSD节点测试结果接近

10个线程的话:

numjobs=10

结果:

IOPS=202

如果 iodepth = 1 的话,结果是:

write: io=78688KB, bw=671442B/s, iops=163, runt=120005msec

支持的engine:

~$ fio --enghelp
Available IO engines:
cpuio
mmap
sync
psync
vsync
pvsync
null
net
netsplice
libaio
rdma
posixaio
falloc
e4defrag
splice
rbd
mtd
sg
binject

测试本地disk:

http://www.cnblogs.com/sammyliu/p/5557666.html

原文地址:https://www.cnblogs.com/allcloud/p/7380893.html