iostat看线上
注意,最重要的指标是: avgrq-sz , 这个但是为扇区数,一个扇区的大小是512KB
因此, 841.56 代表大小是: 841.56/2 = 420.78KB.
#iostat -dx 1 1000 /dev/sdk
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdk 0.22 16.32 71.08 49.98 23544.95 19763.38 715.45 0.65 5.34 7.64 2.08 5.21 63.04
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdk 0.00 0.00 81.00 78.00 26968.00 39936.00 841.56 143.32 683.93 38.35 1354.35 6.29 100.0
那么如何使用fio去模拟这个大小呢?
fio中最重要的一个参数是: -bs=xxxx, 我们经常看到这里是4k,16k,128k等等的测试数据,这里其实就是request 从elevator中出来,dispatch到driver的时候的大小。
线上机器 大小是 841.56 sector (420.78KB.)的时候, 意味着,这里, -bs=420k 比较合适。
#fio -filename=/dev/sdc -direct=1 -iodepth=4 -thread -rw=randrw -ioengine=libaio -bs=64k -size=2G -numjobs=100 -name="EBS 4K randwrite test" -group_reporting -runtime=200