ubuntu安装fio
apt install fio
参数说明
常见用法
block=4k iodepth=1 随机读测试,能反映磁盘的时延性能;
block=128K iodepth=32 能反映峰值吞吐性能 ;
block=4k iodepth=32 能反映峰值IOPS性能。
-filename=/dev/sdb1 测试文件名称,通常选择需要测试的盘的data目录。 只能是分区,不能是目录,会破坏数据
-direct=1 测试过程绕过机器自带的buffer。使测试结果更真实。
-rw=randrw 测试随机写和读的I/O
-rw=rw/readwrite 测试顺序读写的I/O
-rw=read 顺序读
-rw=write 顺序写
-rw=randread 随机读
-rw=randwrite 随机写
-iodepth=1 队列深度,只有使用libaio时才有意义,这是一个可以影响IOPS的参数,通常情况下为1。
-ioengine=psync/libaio io引擎使用pync方式
-bs=4k 单次io的块文件大小为4k (单次IO越小的时候,单次IO所耗费的时间也越少,相应的IOPS也就越大)
-size=2G 测试文件大小为2g,以每次4k的io进行测试,此大小不能超过filename的大小,否则会报错。
-numjobs=10 测试线程为10.
-runtime=10 测试时间为10秒,如果不写则一直将2g文件分4k每次写完为止。
-lockmem=1g 只使用1g内存进行测试。
-rwmixwrite=30 在混合读写的模式下,写占30%
-group_reporting 关于显示结果的,汇总每个进程的信息。
-name=name 直接测试读会在测试设备写入name.*文件
-output=rw.txt 将输出内容写入文件
常用参数
顺序读
fio --bs=4k --ioengine=libaio --iodepth=1 --direct=1 --rw=read --time_based --runtime=600 --refill_buffers --norandommap --randrepeat=0 --group_reporting --name=fio-read --size=50G --filename=/dev/vdb1
顺序读
fio -numjobs=1 -iodepth=1 -direct=1 -ioengine=libaio -sync=1 -rw=read -bs=10M -size=10G -time_based -runtime=60s -name=Fio -directory=cephfs
随机读iops
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randread -bs=4K -size=1G -time_based -runtime=60 -name=Fio -directory=cephfs
随机写iops
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randwrite -bs=4K -size=1G -time_based -runtime=60 -name=Fio -directory=cephfs
随机读吞吐
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randread -bs=1M -size=1G -time_based -runtime=60 -name=Fio -directory=cephfs
随机写吞吐
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randwrite -bs=1M -size=1G -time_based -runtime=60 -name=Fio -directory=cephfs