###存储性能测试: fio-2.1.10.tar.gz
安装:
yum install libaio-devel
tar -zxvf fio-2.1.10.tar.gz
cd fio-2.1.10
make
make install
还有dd命令,dd命令,linux系统自带。
###dd的用法:
dd命令是一个设备转换和复制命令:
使用"if= " 选项指定输入设备(或文件),
" of= " 选项指定输出设备(或文件),
" bs=" 选项指定读取数据块的大小。
"count=" 选项指定读取数据块的数量。
"oflag=" 选项指定写的方式,direct表示读写数据采用直接IO方式
例如:
###dd4k测试:
dd if=/dev/zero of=存储磁盘 bs=4k count=2000000 oflag=direct
###存储IOPS测试:
例如:
100%随机写:
fio --filename=/dev/sd* --direct=1 --iodepth 128 --thread --rw=randwrite --ioengine=libaio --bs=4k --size=40G --numjobs=32 --runtime=120 --group_reporting --name=mytest
100%随机读:
fio -filename=/dev/vdb -direct=1 -iodepth 128 -thread -rw=randread -ioengine=libaio -bs=4k -size=40G -numjobs=32 -runtime=120 -group_reporting -name=mytest
70%/30%随机读写:
fio --filename=/dev/vdb -direct=1 -iodepth 128 -thread -rw=randrw -rwmixread=70 -ioengine=libaio -bs=4k -size=40G -numjobs=32 -runtime=120 -group_reporting -name=mytest
60%/40%随机读写:
fio --filename=/dev/vdb -direct=1 -iodepth 128 -thread -rw=randrw -rwmixread=60 -ioengine=libaio -bs=4k -size=40G
-numjobs=32 -runtime=120 -group_reporting -name=mytest
50%/50%随机读写:
fio -filename=/dev/vdb -direct=1 -iodepth 128 -thread -rw=randrw -rwmixread=50 -ioengine=libaio -bs=4k -size=40G -numjobs=32 -runtime=120 -group_reporting -name=mytest
####fio命令参数详解: filename=/dev/vdb 需要测试的硬盘。 direct=1 测试过程绕过机器自带的buffer。 rw=randwrite 测试100%随机写的I/O rw=randread 测试100%随机读的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=40G 本次的测试文件大小为40G,以每次4k的io进行测试。
numjob=32 本次的测试线程为32.
runtime=120 测试时间为120 秒,如果不写则一直将40G文件分4k每次写完为止。
ioengine=libaio io引擎使用libaio方式
rwmixwrite=50 在混合读写的模式下,写占50%
rwmixread=70 在混合读写的模式下,读占70%
group_reporting 关于显示结果的,汇总每个进程的信息。