常用的参数不多记录,主要记录下不太常用的参数,后续遇到再往上加
#io size 大小/比例,用冒号隔开
--bssplit=4k/10:64k/50:32k/40
#下面这么写也是对的,代表 1k/32k 各25%,反正总计100%
--bssplit=4k/50:1k/:32k/# io size 范围,默认情况下,io size是最小io size的整数倍,比如这里就是1k,2k,3k,4k size
--bsrange=1k-4k
#这里是不一般情况,让io size不对齐
--bsrange=1k-4k --bs_unaligned#设定io size 按指定 size对齐,默认是512,下面指定为4k对齐
--ba=4k#在需要进行数据验证时用以下这两个参数指定数据pattern类型为0xac
--verify=pattern --verify_pattern=0xac
#设定为1时代表写完就进行数据校验,0则是写完不立即进行校验
--do_verify=1
#校验时遇到error就停,默认是会全部校验完再出结果
--verify_fatal=1
#存储校验档再本地,允许下次fio启动再去执行
--verify_state_save=1
#读取本地校验档,重复执行校验上次写的位置
--verify_state_load=1
设定配置档 fio.cfg,用 fio fio.cfg
执行fio
#fio.cfg 配置如下:
[global]
ioengine=libaio
direct=1
rw=read
bs=128k
numjobs=1
iodepth=32
size=10G
loops=1[job1]
filename=/dev/sda
[job2]
filename=/dev/sdb
#解析
[global] #下面的参数都是全局变量,意思共用的,大家都用这个参数执行
[job1] #我这里设定了两个job,针对不同的盘,每个盘都读10G
[stonewall] #可以加在两个不同的job之间,这样两个job会又先后顺序,先执行玩一个,再执行下一个,不然就是同步进行