【アイオースタット】

iostat(I/O統計) とは?

💡 ディスクの忙しさを数字で見える化する聴診器
📌 このページのポイント
iostat -x で見るディスクI/O Device r/s w/s rMB/s wMB/s await %util sda 12.5 8.3 1.2 0.8 0.8 15% sdb 350.2 180.5 45.6 22.3 52.1 98% ⚠ ほぼ飽和状態! 主要指標の見方 r/s, w/s: 1秒あたりの読み書き回数 await: I/O待ち時間(ms) %util: ディスク使用率 判断の目安 %util 50%未満: 余裕あり %util 80%以上: 要注意 %util 95%以上: ボトルネック
iostat -x でディスクI/Oの状態を診断するイメージ
ひよこ ひよこ

vmstatでwa(I/O待ち)が高いって言われたんだけど、次は何を見ればいいの?

ペンギン先生 ペンギン先生

そこでiostatの出番だよ!iostat -xを実行すると、どのディスクがどれくらい忙しいかが詳しく分かるんだ。

ひよこ ひよこ

-xの出力で注目すべき数値は?

ペンギン先生 ペンギン先生

まず%util(ディスク使用率)を見て。100%に近ければそのディスクはフル稼働だよ。次にawait(I/O待ち時間)。これが大きいとアプリケーションがディスクを待っている時間が長いということだね。

ひよこ ひよこ

どれくらいの数値だと「遅い」って判断するの?

ペンギン先生 ペンギン先生

HDDなら await が10ms以下なら正常、50ms超えは要注意。SSDなら1ms以下が普通で、5ms超えたら調査が必要だね。ただし環境によるから、平常時のベースラインを知っておくのが大切だよ。

ひよこ ひよこ

iostatってどんな場面で特に使うの?

ペンギン先生 ペンギン先生

データベースサーバーが一番多いかな。MySQLPostgreSQLが遅い時、原因がクエリなのかディスクI/Oなのかを切り分けるのに重宝するよ。あとNFSなどのネットワークストレージのパフォーマンス調査にも使えるんだ。プロのインフラエンジニアはvmstat、iostat、topの3つを「障害調査の三種の神器」と呼んだりするよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「iostat」って出てきたら「ディスクI/Oの状況を詳しく調べるコマンド」と思えればだいたいOK!
📖 おまけ:英語の意味
「input/output statistics」 = 入出力統計
💬 ディスクへの入出力(I/O)の統計情報を表示するコマンドだよ
← 用語集にもどる