###存储性能测试:
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      关于显示结果的,汇总每个进程的信息。