存储 频道

IO系统性能之三:在Linux中监视IO性能

  topiostat的应用实例

  观察IO Scheduler的IO合并(IO Merge)

  前面说过IO在执行过程中会被合并以提高效率,下面就结合dd命令和iostat命令看一下。

  我们先执行dd命令,设置bs参数值为1k,完整命令如下

  dd if=/dev/zero of=test bs=1k count=1024000

  同时打开另外一个终端执行iostat命令,这里只查看变化那个磁盘的更改,每秒刷新一次数据,完整命令如下

  iostat -x hdc7 1

  然后我们可以得到下面的结果

  Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
  hdc7 0.00 9447.00 0.00 776.00 0.00 80616.00 0.00 40308.00 103.89 480.18 805.95 1.29 100.00
  avg-cpu: %user %nice %sys %iowait %idle
  0.50 0.00 56.00 43.50 0.00
  Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
  hdc7 0.00 9534.00 0.00 872.00 0.00 81384.00 0.00 40692.00 93.33 274.56 401.19 1.14 99.00
  avg-cpu: %user %nice %sys %iowait %idle
  2.50 0.00 46.50 14.00 37.00
  Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
  hdc7 0.00 6766.00 1.00 276.00 8.00 58808.00 4.00 29404.00 212.33 197.27 321.66 1.95 54.00
  avg-cpu: %user %nice %sys %iowait %idle
  0.50 0.00 0.50 0.00 99.00

  看结果中第一组数据中的avgrq-sz,为103.89个扇区,磁盘的每个扇区为512字节,因此平均IO大小为103.89*512/1024=52k字节,远远大于我们dd命令时给定的参数1k字节,也就是说IO在中间被合并了。看巨大的wrqm/s也能得出同样的结论。

0
相关文章