This is for linux
mainly from: https://www.linux.com/learn/tutorials/442451-inspecting-disk-io-performance-with-fio
Download: http://freecode.com/projects/fio
Testing Server workloads:
1) Create file
$ cat four-threads-randio.fio
; Four threads, two query, two writers.
[global]
rw=randread
size=256m
directory=/tmp/fio-testing/data
ioengine=libaio
iodepth=4
invalidate=1
direct=1
[bgwriter]
rw=randwrite
iodepth=32
[queryA]
iodepth=1
ioengine=mmap
direct=0
thinktime=3
[queryB]
iodepth=1
ioengine=mmap
direct=0
thinktime=5
[bgupdater]
rw=randrw
iodepth=16
thinktime=40
size=32m
2) Test
$ fio four-threads-randio.fio
bgwriter: (g=0): rw=randwrite, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=32
queryA: (g=0): rw=randread, bs=4K-4K/4K-4K, ioengine=mmap, iodepth=1
queryB: (g=0): rw=randread, bs=4K-4K/4K-4K, ioengine=mmap, iodepth=1
bgupdater: (g=0): rw=randrw, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=16
Starting 4 processes
bgwriter: (groupid=0, jobs=1): err= 0: pid=3241
write: io=256MiB, bw=7,480KiB/s, iops=1,826, runt= 35886msec
slat (usec): min=9, max=106K, avg=35.29, stdev=583.45
clat (usec): min=117, max=224K, avg=17365.99, stdev=24002.00
bw (KiB/s) : min= 0, max=14636, per=72.30%, avg=5746.62, stdev=5225.44
cpu : usr=0.40%, sys=4.13%, ctx=18254, majf=0, minf=9
IO depths : 1=0.1%, 2=0.1%, 4=0.4%, 8=3.3%, 16=59.7%, 32=36.5%, >=64=0.0%
issued r/w: total=0/65536, short=0/0
lat (usec): 250=0.05%, 500=0.33%, 750=0.70%, 1000=1.11%
lat (msec): 2=7.06%, 4=14.91%, 10=27.10%, 20=21.82%, 50=20.32%
lat (msec): 100=4.74%, 250=1.86%
queryA: (groupid=0, jobs=1): err= 0: pid=3242
read : io=256MiB, bw=589MiB/s, iops=147K, runt= 445msec
clat (usec): min=2, max=165, avg= 3.48, stdev= 2.38
cpu : usr=70.05%, sys=30.41%, ctx=91, majf=0, minf=65545
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
issued r/w: total=65536/0, short=0/0
lat (usec): 4=76.20%, 10=22.51%, 20=1.17%, 50=0.05%, 100=0.05%
lat (usec): 250=0.01%
queryB: (groupid=0, jobs=1): err= 0: pid=3243
read : io=256MiB, bw=455MiB/s, iops=114K, runt= 576msec
clat (usec): min=2, max=303, avg= 3.48, stdev= 2.31
bw (KiB/s) : min=464158, max=464158, per=1383.48%, avg=464158.00, stdev= 0.00
cpu : usr=73.22%, sys=26.43%, ctx=69, majf=0, minf=65545
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
issued r/w: total=65536/0, short=0/0
lat (usec): 4=76.81%, 10=21.61%, 20=1.53%, 50=0.02%, 100=0.03%
lat (usec): 250=0.01%, 500=0.01%
bgupdater: (groupid=0, jobs=1): err= 0: pid=3244
read : io=16,348KiB, bw=1,014KiB/s, iops=247, runt= 16501msec
slat (usec): min=7, max=42,515, avg=47.01, stdev=665.19
clat (usec): min=1, max=137K, avg=14215.23, stdev=20611.53
bw (KiB/s) : min= 0, max= 1957, per=2.37%, avg=794.90, stdev=495.94
write: io=16,420KiB, bw=1,018KiB/s, iops=248, runt= 16501msec
slat (usec): min=9, max=42,510, avg=38.73, stdev=663.37
clat (usec): min=202, max=229K, avg=49803.02, stdev=34393.32
bw (KiB/s) : min= 0, max= 1840, per=10.89%, avg=865.54, stdev=411.66
cpu : usr=0.53%, sys=1.39%, ctx=12089, majf=0, minf=9
IO depths : 1=0.1%, 2=0.1%, 4=0.3%, 8=22.8%, 16=76.8%, 32=0.0%, >=64=0.0%
issued r/w: total=4087/4105, short=0/0
lat (usec): 2=0.02%, 4=0.04%, 20=0.01%, 50=0.06%, 100=1.44%
lat (usec): 250=8.81%, 500=4.24%, 750=2.56%, 1000=1.17%
lat (msec): 2=2.36%, 4=2.62%, 10=9.47%, 20=13.57%, 50=29.82%
lat (msec): 100=19.07%, 250=4.72%
Run status group 0 (all jobs):
READ: io=528MiB, aggrb=33,550KiB/s, minb=1,014KiB/s, maxb=589MiB/s, mint=445msec, maxt=16501msec
WRITE: io=272MiB, aggrb=7,948KiB/s, minb=1,018KiB/s, maxb=7,480KiB/s, mint=16501msec, maxt=35886msec
Disk stats (read/write):
dm-6: ios=4087/69722, merge=0/0, ticks=58049/1345695, in_queue=1403777, util=99.74%