レンタルサーバが重い、その 1

レンタルの専用サーバへの WEB アクセスがひどく重い現象が発生した。十数分にわたり、一部コンテンツしか取得できなかった。ssh 接続も切れてしまったようで、新たに ssh セッションを張ろうとしてもタイムアウトする。POP もタイムアウトする。

しばらくして復旧したので、システムログをざっと見たけれど、特に問題があるようには見えなかった。

ので、再度現象が発生した場合に問題を特定しやすいようにシステム負荷とネットワーク負荷をログる仕掛けを動かすことにした。
具体的には次の二つのシェルスクリプトを 5 分間隔で cron 実行するようにした。

#!/bin/bash

logfile=/var/log/chkldavg.log
date=`date '+%Y-%m-%d_%H:%M:%S'`
ldavg=`cut -f 1 -d \  /proc/loadavg`

if [ ${ldavg/.*/} -gt 1 ]; then
  echo "$date $ldavg" >> $logfile
  echo "------------" >> $logfile
  echo "ps auxww"     >> $logfile
  echo "============" >> $logfile
  ps auxww            >> $logfile
else
  echo "$date $ldavg" >> $logfile
fi
#!/bin/bash

host=適当に
logfile=/var/log/ping.log
date=`date '+%Y-%m-%d_%H:%M:%S'`

echo "$date" >> $logfile
echo "------------" >> $logfile
ping -c 1 $host >> $logfile
echo "============" >> $logfile

さて、どうなることやら。