LinuxにおけるディスクIOのレイテンシ確認について
LinuxにおけるディスクIOのレイテンシ確認について
iostatやsarでディスクIOレイテンシ取得する場合、どのオプションが該当するのでしょうか?
0 likes
LinuxにおけるディスクIOのレイテンシ確認について
iostatやsarでディスクIOレイテンシ取得する場合、どのオプションが該当するのでしょうか?
iostat
であれば、
$ iostat -xk 1
$ iostat -xk 1 -p /dev/sdb # 特定デバイスについて確認したい場合はこちら
のようにされるのがよさそうです。-x
で拡張ログ出力です。
表示された結果のawait
とついている時間がデバイスに発行したリクエストが処理されるまでの平均処理時間となるので、そちらを参考にするといいと思います。
具体例としては、
/dev/sdb
が /
にmountされている状態で
$ mount | grep /dev/sdb
/dev/sdb on / type ext4 (rw,relatime,discard,errors=remount-ro,data=ordered)
ddコマンドで適当なサイズのファイルをwriteしてやると、
$ dd if=/dev/zero of=test bs=1M count=300 oflag=direct
300+0 records in
300+0 records out
314572800 bytes (315 MB, 300 MiB) copied, 0.18611 s, 1.7 GB/s
その瞬間のiostatの結果は以下のようになります。
w_await
がデバイスに発行した書き込みリクエストが処理されるまでの平均処理時間(msオーダー)です。
$ iostat -xk 1
・・
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 2.24 0.00 0.00 97.76
Device r/s rkB/s rrqm/s %rrqm r_await rareq-sz w/s wkB/s wrqm/s %wrqm w_await wareq-sz d/s dkB/s drqm/s %drqm d_await dareq-sz aqu-sz %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 600.00 307200.00 0.00 0.00 0.45 512.00 0.00 0.00 0.00 0.00 0.00 0.00 0.27 20.00