naobe @ ウィキ
性能管理
最終更新:
Bot(ページ名リンク)
-
view
ソフトウェア共通に戻る
大規模サービス技術入門 WEB+DB PRESS plus 参照
負荷の判定方法
- ロードアベレージを見て、負荷に問題あるか確認する
- cpu負荷、IO負荷を測定して、どちらに原因があるか判定する
- cpu負荷に原因があるときは、システム、アプリケーションのどちらに原因があるか調べる
- アプリケーションに原因があるときは、ps、topなどを使って、原因となるプロセスを特定する。
- プロセスを特定できたら、straceでプロセスの動きを調べる
- IOに原因があるときは、ページイン、ページアウト回数を見る。多すぎるときは、メモリ不足。
ロードアベレージ
ランキュー(待ち行列)に溜まったタスク (task_struct構造体 ≒ プロセス)の数を、ハードウェアクロックの割り込み毎に数え上げた時間単位での平均値。例えば、ロードアベレージが0.5ということは、2回に1回、1個のプロセスが待ち状態にあったということになる。
CPU数が1の時に、1以下ならば負荷に問題なし。Core数が1より大きくて、CPU負荷が分散しているときは、Core数 > ロードアベレージ で低負荷。
【測定例】
[foo@host ~]$ uptime
[foo@host ~]$ uptime
03:49:22 up 7 days, 19:33, 1 user, load average: 0.57, 0.62, 0.62
左から順番に、1分、5分、15分の平均。
項目 | 内容 |
---|---|
ハードウェアクロック | PC上のLSIに搭載された時計。RTC(Real Time Clock)とも呼ばれる。 |
システムクロック | カーネルが管理している時計。PC起動時にハードウェアクロックを読み込み、以後は自分で時を刻む。 |