fio测试IOPS

    fio是系统IO测试的工具,覆盖多种不同类型、不同方式的IO测试,并且简单易用。fio在压力测试中,常用于了解不同文件操作的IOPS极限,可以更加全面的了解系统IO处理能力。
一、下载

http://brick.kernel.dk/snaps/fio-2.1.7.tar.bz2


二、安装
[root@oracle gg]# tar -xjf fio-2.1.7.tar.bz2 
[root@oracle gg]# cd fio-2.1.7
[root@oracle fio-2.1.7]# ./configure 
[root@oracle fio-2.1.7]# make && make install

三、使用样例
顺序读:
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200G -numjobs=10 -runtime=1000 -group_reporting -name=mytest
随机写:
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=200G -numjobs=10 -runtime=1000 -group_reporting -name=mytest
顺序写:
fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=200G -numjobs=10 -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=10 -runtime=1000 -group_reporting -name=mytest -ioscheduler=noop
参数说明
filename:测试的系统盘目录。
direct:测试绕过机器自带的buffer,使测试结果更真实。
iodepth:设置IO队列的深度。
rw:测试读写类型。
ioengine:io引擎方式。
bs:数据块大小。
size:测试文件的大小。
numjobs:测试次数。
runtime:测试时间。
rwmixwrite:在混合读写的模式下,写占的权重。
group_reporting:测试结果汇总每个进程的信息。
lockmem:测试使用内存大小。
zero_buffers:测试过程使用0初始化系统buffer。
nrfiles:测试过程中每个进程生成文件的数量。

四、测试
[root@oracle fio-2.1.7]# fio -filename=/dev/sdb2 -direct=1 -iodepth 1 -rw=randread -ioengine=sync -bs=16k -size=2G -numjobs=10 -runtime=1000 -group_reporting -name=mytest
mytest: (g=0): rw=randread, bs=16K-16K/16K-16K/16K-16K, ioengine=sync, iodepth=1
...
fio-2.1.7
Starting 10 processes
Jobs: 2 (f=2): [____r___r_] [99.6% done] [20666KB/0KB/0KB /s] [1291/0/0 iops] [eta 00m:04s]s]
mytest: (groupid=0, jobs=10): err= 0: pid=15148: Mon Dec 14 08:53:40 2015
  read : io=20148MB, bw=20631KB/s, iops=1289, runt=1000009msec
    clat (usec): min=0, max=172813, avg=7759.95, stdev=5650.98
     lat (usec): min=0, max=172814, avg=7760.55, stdev=5650.98
    clat percentiles (usec):
     |  1.00th=[  241],  5.00th=[ 1352], 10.00th=[ 2416], 20.00th=[ 3792],
     | 30.00th=[ 4832], 40.00th=[ 5728], 50.00th=[ 6560], 60.00th=[ 7456],
     | 70.00th=[ 8768], 80.00th=[10688], 90.00th=[14272], 95.00th=[18304],
     | 99.00th=[28288], 99.50th=[33024], 99.90th=[45824], 99.95th=[51968],
     | 99.99th=[73216]
    bw (KB  /s): min=  734, max=617746, per=10.46%, avg=2157.36, stdev=7736.12
    lat (usec) : 2=0.07%, 50=0.01%, 100=0.68%, 250=0.32%, 500=2.79%
    lat (usec) : 750=0.35%, 1000=0.17%
    lat (msec) : 2=3.32%, 4=14.10%, 10=54.98%, 20=19.50%, 50=3.63%
    lat (msec) : 100=0.06%, 250=0.01%
  cpu          : usr=0.15%, sys=0.38%, ctx=1290338, majf=0, minf=322
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued    : total=r=1289469/w=0/d=0, short=r=0/w=0/d=0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
   READ: io=20148MB, aggrb=20631KB/s, minb=20631KB/s, maxb=20631KB/s, mint=1000009msec, maxt=1000009msec

Disk stats (read/write):
  sdb: ios=1289181/2177, merge=0/2172, ticks=9977871/104, in_queue=9977596, util=99.89%

你可能感兴趣的:(fio测试IOPS)