[Server] サーバー管理ツールを作る #6「LoadAverage値の取得」

datacenter-286386_1280
LINEで送る
Share on GREE
Share on LinkedIn

サーバーの処理がアクセス数に対して間に合っていない場合、処理の行列ができます。
そんな行列の様子を値にしたのがLoadAverageの値ですが、CPU別にタスク待ち状態になっている数を表示するので、値がCPUのスレッド数を超えていると要注意です。

やりたい事

topコマンドでLAの値が取得できますが、topコマンドは重いので「/proc/loadavg」から取得できる値で代用したいと思います。

ソースコード

health-la.sh

解説

1,/proc/loadavgの内容を取得
2、内容をセパレートして、[1分足 , 5分足 , 15分足]として取得する

解説

laの値が増えるということはサーバー処理が間に合っていないという事なので、値の増加を定期で計測しましょう。
通常は少数値になっていると思いますが、1以上が頻発していると、サーバー構成やプログラム処理などを見直しましょう。
※たまにプログラムの不具合で値が跳ね上がる場合もあります。
アクセスが少ない状態の時に、無駄なモジュールやプロセスが立ち上がっていない状態にしておきましょう。

使い方

1、「servers.list」ファイルに対象サーバーを改行区切りでいくつでも保存する。

2、以下のコマンドを叩くだけ(任意位置から叩いてもOK)

LAの値で注意するポイントは、一番直近の1分足と期間の大きな5分足、15分足の値でどういう傾向になっているかで判断します。
1分足の方が小さい場合は、安定トレンドになっており、逆の場合は、アクセス過多トレンドです。
負荷分散を考慮したサーバー構成にしておくことで、こういった場合にスケールして対応することができるので、オススメします。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*