下面对各参建数进行解释
Option | Comment |
---|---|
-filename=/tmp/iotest/test | 设定测试文件名 |
-direct=1 | 不使用缓存 |
-iodepth 1 | io队列的深度 |
-thread | 使用线程模式 |
-rw=randrw | 使用随机读写模式 |
-rwmixread=70 | 随机读写下读占比70% |
-ioengine=psync | 使用psync的io引擎 |
-bs=16k | 设定单次IO的block size大小 |
-size=5G | 此job中产生的io总量 |
-numjobs=3 | 线程数 |
-runtime=100 | 指定运行时间 |
-group_reporting | 以组的方式来输出报告 |
-name=mytest | 设定job名 |
自定义io benchmark
这次要进行如下测试
- 1.要求绕过buffer
- 2.io队列深度为4
- 3.100个线程并发
- 4.随机读写,写占比30%
- 4.blocksize并不统固定,其中4k占比10%,64K占比50%,32k占比40%
- 5.总大小为5G
- 6.50秒钟给出结果
[root@iZ116haf49sZ iotest]# time fio -filename=/tmp/iotest/test -direct=1 -iodepth 4 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bssplit=4k/10:64k/50:32k/40 -size=5G -numjobs=100 -runtime=50 -group_reporting -name=mytest
mytest: (g=0): rw=randrw, bs=4K-64K/4K-64K/4K-64K, ioengine=psync, iodepth=4
...
fio-2.2.11-15-g236d
Starting 100 threads
Jobs: 100 (f=100): [m(100)] [100.0% done] [44835KB/9494KB/0KB /s] [882/148/0 iops] [eta 00m:00s]
mytest: (groupid=0, jobs=100): err= 0: pid=31174: Fri Nov 13 21:15:11 2015
read : io=1185.4MB, bw=24199KB/s, iops=537, runt= 50145msec
clat (usec): min=454, max=556346, avg=113077.72, stdev=110203.84
lat (usec): min=455, max=556347, avg=113078.04, stdev=110203.84
clat percentiles (usec):
| 1.00th=[ 620], 5.00th=[ 756], 10.00th=[ 884], 20.00th=[ 1384],
| 30.00th=[15680], 40.00th=[50944], 50.00th=[91648], 60.00th=[130560],
| 70.00th=[166912], 80.00th=[207872], 90.00th=[264192], 95.00th=[317440],
| 99.00th=[432128], 99.50th=[464896], 99.90th=[509952], 99.95th=[518144],
| 99.99th=[544768]
bw (KB /s): min= 4, max= 1009, per=1.04%, avg=251.30, stdev=147.11
write: io=515512KB, bw=10280KB/s, iops=222, runt= 50145msec
clat (usec): min=891, max=544691, avg=174966.47, stdev=135441.94
lat (usec): min=893, max=544697, avg=174976.05, stdev=135441.74
clat percentiles (usec):
| 1.00th=[ 1336], 5.00th=[ 1928], 10.00th=[ 2384], 20.00th=[ 3216],
| 30.00th=[89600], 40.00th=[140288], 50.00th=[181248], 60.00th=[209920],
| 70.00th=[244736], 80.00th=[288768], 90.00th=[362496], 95.00th=[415744],
| 99.00th=[485376], 99.50th=[501760], 99.90th=[528384], 99.95th=[536576],
| 99.99th=[544768]
bw (KB /s): min= 4, max= 572, per=1.15%, avg=118.30, stdev=68.56
lat (usec) : 500=0.06%, 750=3.28%, 1000=6.25%
lat (msec) : 2=8.49%, 4=6.30%, 10=2.86%, 20=2.29%, 50=6.41%
lat (msec) : 100=10.12%, 250=36.86%, 500=16.82%, 750=0.26%
cpu : usr=0.01%, sys=0.02%, ctx=68525, majf=0, minf=9
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=26975/w=11177/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=4
Run status group 0 (all jobs):
READ: io=1185.4MB, aggrb=24198KB/s, minb=24198KB/s, maxb=24198KB/s, mint=50145msec, maxt=50145msec
WRITE: io=515512KB, aggrb=10280KB/s, minb=10280KB/s, maxb=10280KB/s, mint=50145msec, maxt=50145msec
Disk stats (read/write):
xvda: ios=41222/17310, merge=0/0, ticks=283253/76909, in_queue=360597, util=99.16%
real 0m50.461s
user 0m0.683s
sys 0m1.207s
[root@iZ116haf49sZ iotest]#