fio工具描述
fio是一个产生大量线程或进程,执行用户指定的特定类型的I/O操作。典型用途fio的作用是编写一个与要模拟的I/O负载相匹配的作业文件。
fio命令参数详解
语法格式:fio [options] [jobfile]
常用参数:
filename
测试文件名称,通常选择需要测试的盘的data目录
direct
测试过程绕过OS自带的buffer,使测试磁盘的结果更真实
iodepth
队列深度
thread
使用pthread_create创建线程
rw=randwrite
测试随机写的I/O
rw=randrw
测试随机写和读的I/O
bs
单次io的块文件大小
size
每个线程读写的数据量
iodepth
观察fio输出中的输入/输出深度分布,默认值为1
numjobs
每个job开启的线程数
runtime
测试时间
参考示例:
进行随机读取测试:
[root@linuxcool ~]# fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=10G -numjobs=10 -runtime=100 -group_reporting -name=mytest
进行随机写入测试:
[root@linuxcool ~]# fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=10G -numjobs=30 -runtime=1000 -group_reporting -name=mytest
进行顺序写入测试:
[root@linuxcool ~]# fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=10G -numjobs=30 -runtime=1000 -group_reporting -name=mytest