tar -xvf fio.tar.gz
cd 到解压目录
rpm -ivh * --nodeps --force
参数说明:
filename=/data/test1 支持文件系统或者裸设备,-filename=/dev/sda2或-filename=/dev/sdb
direct=1 测试过程绕过机器自带的buffer,使测试结果更真实
rw=randwread 测试随机读的I/O
rw=randwrite 测试随机写的I/O
rw=randrw 测试随机混合写和读的I/O
rw=read 测试顺序读的I/O
rw=write 测试顺序写的I/O
rw=rw 测试顺序混合写和读的I/O
bs=4k 单次io的块文件大小为4k
bsrange=512-2048 同上,提定数据块的大小范围
size=5g 本次的测试文件大小为5g,以每次4k的io进行测试
numjobs=4 本次的测试线程为4
runtime=60 测试时间为60秒,如果不写则一直将5g文件分4k每次写完为止
ramp_time=60 测试前先运行60s,之后才开始真正测试。
ioengine=libaio io引擎使用pync方式,如果要使用libaio引擎,需要yum install libaio-devel包
rwmixwrite=30 在混合读写的模式下,写占30%
group_reporting 关于显示结果的,汇总每个进程的信息
iodepth=16 队列深度
此外
lockmem=1g 只使用1g内存进行测试
zero_buffers 用0初始化系统buffer
nrfiles=8 每个进程生成文件的数量
顺序读
fio -filename=/root/test1 -direct=1 -iodepth=1 -ioengine=libaio -bs=4k -rw=randwrite -runtime=60 -numjob=8 -size=2G -group_reporting -name iops_randwrite
顺序写 修改了 -bs=1 -rw=write ,主要测带宽(bw)
fio -filename=/data/test1 -direct=1 -iodepth=1 -ioengine=libaio -bs=1m -rw=write -runtime=60 -numjob=8 -size=2G -group_reporting -name bw_write
对小I/O(4KB)的随机读写请求,主要考验的是存储的IOPS能力;
对大I/O(1MB)的顺序读写请求,主要考验的是存储的带宽吞吐能力。
混合随机读写
设置读写比例为 7:3
fio -filename=/data/test1 -direct=1 -iodepth=1 -ioengine=libaio -bs=16k -rw=randrw -rwmixread=70 -runtime=60 -numjob=32 -size=2G -group_reporting -name iops_randrw
文章评论