linux 测试磁盘iops 方法详解

一、FIO安装 
wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gz 
yum -y install libaio-devel 
tar -zxvf fio-2.0.7.tar.gz 
cd fio-2.0.7 
make  && make install 
 
二、随机读测试:
[root@localhost ~]#  fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=15G -numjobs=20 -runtime=60 -group_reporting -name=mytest
说明: 
filename=/dev/sdb1   测试文件名称,通常选择需要测试的盘的data目录。 
direct=1     测试过程绕过机器自带的buffer。使测试结果更真实。 
rw=randwrite   测试随机写的I/O 
rw=randrw   测试随机写和读的I/O 
bs=16k   单次io的块文件大小为16k 
bsrange=512-2048   同上,提定数据块的大小范围 
size=5g   本次的测试文件大小为5g,以每次4k的io进行测试。 
numjobs=30   本次的测试线程为30. 
runtime=1000   测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止。 
ioengine=psync io  引擎使用pync方式 
rwmixwrite=30      在混合读写的模式下,写占30% 
group_reporting   关于显示结果的,汇总每个进程的信息。 
此外 
lockmem=1g     只使用1g内存进行测试。 
zero_buffers     用0初始化系统buffer。 
nrfiles=8        每个进程生成文件的数量。 
linux 测试磁盘iops 方法详解_第1张图片
 
 
 
顺序读: 
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest 
随机写: 
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest 
顺序写: 
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest 
混合随机读写: 
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=100 -group_reporting -name=mytest -ioscheduler=noop 
 
 
 
测试吞吐量
yum -y install hdparm
hdparm -Tt --direct /dev/sdb1  #红色部分可改
释义:
-t 评估硬盘的读取效率。
-T 评估硬盘快取的读取效率。
linux 测试磁盘iops 方法详解_第2张图片









你可能感兴趣的:(linux 测试磁盘iops 方法详解)