您的位置:首页 > 运维架构

fio测试IOPS

2015-12-14 10:10 155 查看
    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%
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: