[AIX]iostatのおおまかな見方
一般的にI/Oが遅い場合に見るコマンドです。
注:
この文書での方法は1つの考え方でしかなく異論反論があると思いますので、そういった意見をお持ちの方はぜひとも別の文書で考え方を公開ください。
コマンド実行例:
# iostat -DTRl 1
ディスク: xfers read write queue 時間
--------------- -------------------------------- ------------------------------------ ------------------------------------ -------------------------------------- ---------
%tm bps tps bread bwrtn rps avg min max time fail wps avg min max time fail avg min max avg avg serv
act serv serv serv outs serv serv serv outs time time time wqsz sqsz qfull
hdisk5 98.0 38.0M 9276.0 38.0M 0.0 9276.0 0.2 0.1 253.0 0 0 0.0 0.0 0.0 0.0 0 0 0.0 0.0 0.1 0.0 2.0 0.0 09:57:09
見るべき項目:
avg serv
-> 1つのI/Oに対する平均応答時間。ここが大きい場合はディスクのレスポンスが悪いことが分かる。
max serv
-> 1つのI/Oに対する最大応答時間。ここが大きい場合は、少なくとも1つのI/Oではディスクのレスポンスが悪かったことが分かる。
bps
-> 転送量。ここがディスクの性能に対して大きすぎると性能劣化を起こしやすい。
tps
-> 転送回数。ここがディスクの性能に対して大きすぎると性能劣化を起こしやすい。
serv qfull
-> OS上でキューイングされていてディスクに対してI/Oが出ていなかった個数。一般的にはディスクに余力が無い場合に溜まっていく。ディスクに余力があるのにこの値が大きい場合はOSの問題が疑われる。
見てもあまり意味が無い項目:
%tm act
-> インターバル中にI/Oがあった時間でしかないため、100に近くない場合はディスクに余力があったことが分かるが100に近い場合はディスクがボトルネックなのかどうかの判断はできない。
参考:
iostat コマンド
https://www.ibm.com/docs/ja/aix/7.2.0?topic=i-iostat-command
High I/O latencies on applications running on AIX
https://www.ibm.com/support/pages/high-io-latencies-applications-running-aix