本文へスキップ

性能分析: CPU と I/O のボトルネック

Pro会員限定上級約40分6レッスン

「サーバーが重い」の正体を数字で切り分けます。load average と CPU 数、vmstat の b と wa、iostat -x の %util、pidstat -d と sar で、犯人のプロセスと始まった時刻を特定し、ionice で止めずに影響を抑えます。

対象者: 「サーバーが重い」と言われて何から見ればよいか迷う方 / 性能障害の一次調査を任される方

前提知識: シグナル・優先度・開いているファイル 修了程度

この教材を終えると、できるようになること

  • uptime と nproc から load average の高さを判断し、load には I/O 待ちのプロセスも含まれることを説明できるようになる。
  • vmstat の r・b・us・wa 列を読み、I/O 待ちが原因であることを判断し、D 状態のプロセスを見つけられるようになる。
  • iostat -x の %util・w_await・aqu-sz を読み、dm-0 が /data の LV であることを lsblk の番号から対応づけられるようになる。
  • pidstat -d でプロセスごとの I/O 量を比べ、ps と sar -q で開始時刻と負荷の変化を突き合わせられるようになる。
  • ionice で I/O の優先度クラスを idle に下げ、renice と合わせて、処理を止めずにサービスへの影響を抑えられるようになる。

修了後の姿: 障害の根本原因をログとコマンドで突き止められる、チームに頼られる運用エンジニアへ。

この講座はPro会員限定です。無料の会員登録後、無料レッスンのあるコースから学習を始められます。