負荷計測入門 2013/03/13 (水) 12:00-13:00 @ Livesense TechLunch 発表者:渡邉 惇
負荷計測入門渡邉 惇
View Slide
動機・サーバー機器リプレースに伴う見積り・渡邉のローカルPCが定期的に重くなる★OSで何が起きているのかを知りたい!・ロードが15ですね・・・やばい・・・・〇〇バウンダリィ(boundary)だね★??な状況を脱したい!
教科書 - 4章1項
負荷計測の基本★ボトルネックが何かを見極めること①Load Averageを見る②I/O負荷 or CPU負荷を見極める③具体的にどのプロセスがボトルネックか特定
①Load Averageを見るtopuptimesar -q→ load average: 0.31, 0.36, 0.34★1分、5分、15分のload averageの平均値→ これがコア数を超えてくるとやばい(らしい)
Load Averageって何?★処理を実行したくても、実行できなくて待たされているプロセスがどれくらいあるか?例:CPUの実行権限が与えられるのを待っているプロセス→ CPU負荷が高いディスクI/Oが完了するのを待っているプロセス→ I/O負荷が高い
②I/O負荷 or CPU負荷を見極めるsar コマンドを打つ%user ユーザーアプリケーションが動作しているCPUモード%system カーネルが動作する際のCPUモード%iowait I/Oの待ち率%user → CPU%iowait → I/O※sar -P -ALL CPUのコアごとの値がわかる※sar 1 10 リアルタイム計測
CPU負荷① sarユーザプログラムの処理がボトルネックなのか、システムプログラムが原因なのか見極める★ %system と %user をチェック② ps aux見えるプロセスの状態やCPU使用時間などを見ながら、原因となるプロセスを特定※より詳細に調査が必要な場合も
I/O負荷① sar -r + vmstat・スワップ発生or・プログラムからの入出力が多いを切り分け② ps aux特定のプロセスが極端にメモリを消費していないかをチェック
I/O負荷sar -rkbmemfree メモリの空き容量kbmemuserd 物理メモリ量%memused メモリ使用率kbbuffers バッファとして使用中の物理メモリの容量kbcached キャッシュ用メモリとして使用中の物理メモリ容量vmstat / sar -Wスワップが発生しているかを確認
③ボトルネックの原因のプロセスを特定ps aux%CPU%MEMあたりをチェックして、やばそうなプロセスを特定
ちなみに今まで、話したことは、ほぼ全てMuninで見れるよ!ということで、コマンドが出力する値を理解するとMuninの値がよく理解できるようになりそうです★Munin便利なので、積極利用します(してます)
結論★少しだけ負荷計測が怖くなくなった★I/O負荷計測周りがよくわかってない★Muninの見方(ポイントがわかった)★107とか入ってコマンド打ってみたいですね★コマンドの中身も知っとくとよさげ
次回Nginx入門メディア分析系
おまけ渡邉のローカルPCが重い件CPUでもI/Oでもないっぽい→ グラフィック??→ 引き続き原因調査に努めます