1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
| fio模拟iometer 配置文件方式:
[global]
bssplit=512/20:1k/20:2k/10:4k/40:8k/10
rw=randrw rwmixread=80 #8成读,2成写 direct=1 #不使用io设备buffer size=4g numjobs=16 #产生16个进程 nrfiles=8 #每1个进程生成文件数量 ioengine=libaio
directory=/mnt
iodepth=64 #每个文件io队列长度 lockmem=1g #fio只使用1g内存进行测试 zero_buffers 用0初始化系统buffer
一般fio配置文件和参数都是支持k/m/g的标识
顺序测试 命令行方式 fio –name=iometer --rw=randrw --size=4096m --bssplit=32K/20:64k/40:256k/20:512k/20 --direct=1 --ioengine=libaio --iodepth=32 -directory=/mnt --numjobs=8 --nrfiles=8 --rwmixread=60 --zero_buffers
模拟tiobench
[global] direct=1 ioengine=libaio size=512m bsrange=4k-64k timeout=60 numjobs=4
[f1] rw=write ioengine=sync bsrange=4k-4k timeout=120 numjobs=8
[f2] stonewall
rw=randwrite
[f3] stonewall ioengine=posixaio rw=read
[f4] stonewall rw=randread
其他参数详见help或者man page。 每一个子选项可以根据自己的需要再次配置,这个可以使用fio来模拟多种混合io。
测试CPU IO
[global] readwrite=randrw name=stresser directory=/tmp size=8G bssplit=32K/20:64k/40:256k/20:512k/20 nrfiles=16 fsync_on_close=1 thread
[cpu0] ioengine=cpuio cpuload=100 runtime=300 [cpu1] ioengine=cpuio cpuload=100 runtime=300
测试nic IO 测试网络
[global] ioengine=net
filename=localhost/8888 bs=4k size=10g iodepth=128
[receiver] rw=read
[sender] rw=write
[receiver]
rw=read
[sender]
rw=write
example output: $ fio --name=global --rw=randrw --size=128m --name=job1 --name=job2 job1: (g=0): rw=randrw, bs=4K-4K/4K-4K, ioengine=sync, iodepth=1 job2: (g=0): rw=randrw, bs=4K-4K/4K-4K, ioengine=sync, iodepth=1 Starting 2 processes Jobs: 1 (f=1): [_m] [99.6% done] [516K/565K /s] [126/138 iops] [eta 00m:01s] job1: (groupid=0, jobs=1): err= 0: pid=5117 read : io=65880KB, bw=298486B/s, iops=72, runt=226011msec clat (usec): min=119, max=977960, avg=13487.89, stdev=37647.61 bw (KB/s) : min= 4, max= 603, per=51.98%, avg=300.42, stdev=113.69 write: io=65192KB, bw=295368B/s, iops=72, runt=226011msec clat (usec): min=10, max=196312, avg=219.16, stdev=4909.93 bw (KB/s) : min= 4, max= 736, per=51.64%, avg=295.87, stdev=132.08 cpu : usr=0.05%, sys=0.57%, ctx=16529, majf=0, minf=555 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 r/w: total=16470/16298, short=0/0 lat (usec): 20=44.48%, 50=4.92%, 100=0.21%, 250=0.79%, 500=0.07% lat (usec): 750=0.01% lat (msec): 2=0.58%, 4=10.53%, 10=33.08%, 20=2.33%, 50=0.56% lat (msec): 100=0.29%, 250=1.96%, 500=0.18%, 750=0.01%, 1000=0.01% job2: (groupid=0, jobs=1): err= 0: pid=5118 read : io=65716KB, bw=295669B/s, iops=72, runt=227596msec clat (usec): min=118, max=974169, avg=13608.29, stdev=38346.81 bw (KB/s) : min= 19, max= 766, per=51.65%, avg=298.54, stdev=122.36 write: io=65356KB, bw=294049B/s, iops=71, runt=227596msec clat (usec): min=9, max=171343, avg=229.40, stdev=5166.00 bw (KB/s) : min= 5, max= 763, per=51.24%, avg=293.60, stdev=138.74 cpu : usr=0.07%, sys=0.54%, ctx=16489, majf=0, minf=1324 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 r/w: total=16429/16339, short=0/0 lat (usec): 10=0.01%, 20=44.36%, 50=5.16%, 100=0.19%, 250=0.91% lat (usec): 500=0.05%, 750=0.02%, 1000=0.01% lat (msec): 2=0.64%, 4=10.23%, 10=33.26%, 20=2.38%, 50=0.41% lat (msec): 100=0.17%, 250=2.01%, 500=0.20%, 750=0.01%, 1000=0.02%
Run status group 0 (all jobs): READ: io=131596KB, aggrb=578KB/s, minb=295KB/s, maxb=298KB/s, mint=226011msec, maxt=227596msec WRITE: io=130548KB, aggrb=573KB/s, minb=294KB/s, maxb=295KB/s, mint=226011msec, maxt=227596msec
Disk stats (read/write): sdb: ios=32878/8303, merge=0/1095, ticks=445868/20400284, in_queue=20964472, util=99.98%
|