FIO (flexible I/O tester)
# apt-get install fio
example)
# fio --filename=fio.dat --size=5G --direct=1 --sync=1 --bs=4k --iodepth=1 --numjobs=32 --thread --rw=write --runtime=120 --group_reporting --time_base --name=test_write
test_write: (g=0): rw=write, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, iodepth=1
...
test_write: (g=0): rw=write, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, iodepth=1
fio-2.1.3
Starting 32 threads
test_write: Laying out IO file(s) (1 file(s) / 5120MB)
Jobs: 32 (f=32): [WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW] [100.0% done] [0KB/12600KB/0KB /s] [0/3150/0 iops] [eta 00m:00s]
test_write: (groupid=0, jobs=32): err= 0: pid=6474: Mon Jan 25 13:34:30 2016
write: io=1528.5MB, bw=13042KB/s, iops=3260, runt=120010msec
clat (usec): min=874, max=23246, avg=9809.72, stdev=2266.94
lat (usec): min=875, max=23246, avg=9810.20, stdev=2266.93
clat percentiles (usec):
| 1.00th=[ 3824], 5.00th=[ 5600], 10.00th=[ 6752], 20.00th=[ 8256],
| 30.00th=[ 8768], 40.00th=[ 9280], 50.00th=[ 9920], 60.00th=[10688],
| 70.00th=[11200], 80.00th=[11712], 90.00th=[12224], 95.00th=[12864],
| 99.00th=[15040], 99.50th=[15936], 99.90th=[18304], 99.95th=[19584],
| 99.99th=[21888]
bw (KB /s): min= 333, max= 566, per=3.13%, avg=407.55, stdev=33.63
lat (usec) : 1000=0.01%
lat (msec) : 2=0.04%, 4=1.11%, 10=49.55%, 20=49.26%, 50=0.04%
cpu : usr=0.09%, sys=1.78%, ctx=1035331, majf=0, minf=1014
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=0/w=391281/d=0, short=r=0/w=0/d=0
Run status group 0 (all jobs):
WRITE: io=1528.5MB, aggrb=13041KB/s, minb=13041KB/s, maxb=13041KB/s, mint=120010msec, maxt=120010msec
Disk stats (read/write):
rbd2: ios=0/429723, merge=0/2, ticks=0/3064296, in_queue=3071168, util=99.90%
# fio --filename=fio_read.dat --direct=1 --rw=read --bs=4k --size=1G --numjobs=6 --iodepth=256 --runtime=60 --ioengine=libaio --group_reporting --name=ioDrive2_test
ioDrive2_test: (g=0): rw=read, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=256
...
ioDrive2_test: (g=0): rw=read, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=256
fio-2.1.3
Starting 6 processes
ioDrive2_test: Laying out IO file(s) (1 file(s) / 1024MB)
Jobs: 3 (f=3): [RRR___] [100.0% done] [156.3MB/0KB/0KB /s] [40.2K/0/0 iops] [eta 00m:00s]
ioDrive2_test: (groupid=0, jobs=6): err= 0: pid=6541: Mon Jan 25 13:42:14 2016
read : io=6144.0MB, bw=139358KB/s, iops=34839, runt= 45146msec
slat (usec): min=5, max=27282, avg=168.89, stdev=799.47
clat (usec): min=974, max=157688, avg=43468.77, stdev=13936.28
lat (usec): min=988, max=166697, avg=43637.86, stdev=13972.50
clat percentiles (msec):
| 1.00th=[ 22], 5.00th=[ 26], 10.00th=[ 29], 20.00th=[ 32],
| 30.00th=[ 36], 40.00th=[ 39], 50.00th=[ 42], 60.00th=[ 45],
| 70.00th=[ 49], 80.00th=[ 54], 90.00th=[ 62], 95.00th=[ 71],
| 99.00th=[ 87], 99.50th=[ 92], 99.90th=[ 109], 99.95th=[ 120],
| 99.99th=[ 145]
bw (KB /s): min= 8380, max=34395, per=16.74%, avg=23334.94, stdev=4908.73
lat (usec) : 1000=0.01%
lat (msec) : 2=0.01%, 4=0.01%, 10=0.02%, 20=0.54%, 50=72.76%
lat (msec) : 100=26.49%, 250=0.19%
cpu : usr=1.17%, sys=7.96%, ctx=81053, majf=0, minf=17951
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.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.1%
issued : total=r=1572864/w=0/d=0, short=r=0/w=0/d=0
Run status group 0 (all jobs):
READ: io=6144.0MB, aggrb=139357KB/s, minb=139357KB/s, maxb=139357KB/s, mint=45146msec, maxt=45146msec
Disk stats (read/write):
rbd2: ios=1572297/6, merge=0/5, ticks=6798924/24, in_queue=6824968, util=99.93%
Âü°í)
http://freecode.com/projects/fio
https://github.com/hustcat/hustcat.github.io/blob/master/_posts/2015-08-19-ceph-performance-journal-and-tcmalloc.md
http://www.storagereview.com/fio_flexible_i_o_tester_synthetic_benchmark