サーバの負荷調査(超簡易的)

| コメント(0) | トラックバック(0) |

最近ページビューが上昇してきてうきうきしていますが、反面サーバの負荷が大きくなってきたようです。私がサーバをちょくちょく覗く度に、ハードディスクのアクセスランプが付きっぱなしになっています。何ででしょうかね?

と言うことで、軽く調査してみました。結果によって対処が大きく変動するんで、これは重要な作業です。でも、そこまで時間はかけてられないので、簡易的にしました。

調査内容は、至って簡単で、サーバの平均負荷を見るだけです。基本的にCPUの利用率を見るわけです。今回ハードディスクのアクセスがどうのこうのって話で対象が違うような気がしますが、あくまで全体としてみるので気にしません。

調査方法は、シェルスクリプトでcronを使ってやります。SNMPとかMRTGとかを使った方が良いのでしょうが、サーバのシステムをあまり触りたくないので、この方法でやります。

使ったシェルスクリプトが以下の通りです。

#!/bin/sh

if [ $# -lt 1 ]; then
        exit 1
fi

if [ ! -f $1 ]; then
        echo 'Date,Time,Load Avg (1 min),Load Avg (5 min),Load Avg (15 min),Thread,Last PID' > $1
fi

echo `date +%Y/%m/%d`,`date +%H:%M`,`cat /proc/loadavg | sed -e 's/ /,/g'` >> $1

仕組みは、/proc/loadavg から平均負荷を読み込んで、日時と一緒にファイルに出力するだけです。

使い方は以下の通りです。

$ ls
loging_loadavg
$ ./loging_loadavg logfile
$ ls
logfile  loging_loadavg
$ cat logfile
Date,Time,Load Avg (1 min),Load Avg (5 min),Load Avg (15 min),Thread,Last PID
2010/01/26,23:01,0.00,0.00,0.00,3/90,3516
$

 loging_loadavg がシェルスクリプトで、引数にログファイルを指定して実行します。すると、カンマ区切りで出力されます。おまけで、他のデータも付いてきます(消すのが面倒だった)。

これを使ってロギングしたデータがあります。対象日は、2010年1月25日です。

2010/01/25 loadavg

これが採取したデータから生成したグラフです。グラフプロットには、Micrsoft Excelを使いました。

ぱっと見た感じ、パルス状に負荷が大きくなるときがあります。いったい何でしょうかね?
4時から7時までの高負荷帯は、ウイルススキャンと侵入検知システムが動作しているためです。しかし、3時間も高負荷が続いていますがどうなんでしょうか?

Load avg は、プロセスの待っている個数です。よってシングルCPUの場合は、1を目安にするべきです。また、高性能なCPUなら、1コアに対して複数処理させても処理が進見ますが、このサーバはPentium IIIなので、無理です。

この後、他のログファイルを調べてみたところ、パルス状の高負荷は、不正アクセスだと予測しました。この日は、4000回ほどftpやsshでログインしようとした形跡がありました。迷惑なことです。対策しないといけません。これは、後日ということで。。

一時的な高負荷は、無視できると考えても、4時からのメンテ時間が長すぎです。これはサーバのスペック不足です。

そろそろサーバを変更すべきなんでしょうね。ブログ書いているときも、遅いと感じますし。なので、サーバを1台増やすことにします。詳しくは、購入してからやります。

おまけ(他のデータ)

$ df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                      111G   14G   92G  13% /
/dev/hda1              99M   24M   71M  26% /boot
tmpfs                 188M     0  188M   0% /dev/shm
$ free
             total       used       free     shared    buffers     cached
Mem:        383756     378972       4784          0      10788      42848
-/+ buffers/cache:     325336      58420
Swap:       786424     654268     132156
$

ストレージは、14GB使用中でした。これだけでウイルススキャンと侵入検知に3時間かかっているとは・・・
あとメモリの空きが、58MBほどしかないですね。スワップも650MB使っているようです。なんか異常な気がしますが・・・

トラックバック(0)

トラックバックURL: https://www.letstryit.net/mt/mt-tb.cgi/148

コメントする

アーカイブ

カウンタ

Total
Today
Yesterday

IPv6 Ready

Powered by Movable Type 7.0