Apacheは過去数日間で制御不能になり、MySQLを2回クラッシュさせました。phpBBフォーラムも含まれているWordPress Webサイトを移行したときにすべてが始まりました。
サーバー管理の経験があまりないので、問題の原因を特定するのが非常に困難でした。MySQLがダウンしていることに気づいたとき、私はTOPを実行し、システム負荷が98.00に急上昇するのを見ました。サーバーは10個のV-HOSTSを実行しており、そのすべてが正常な量のトラフィックを受信しているため、明らかに多くのapache-2プロセスが実行されているのがわかりました。
サーバーの高負荷が10分間続いた後、通常の状態に戻りました。この時点では、ネットワークトラフィックの急増は見られませんでした。
残念ながら、MySQLエラーロギングは無効になっている(現在は再度有効になっている)ため、手掛かりはありません。しかし、それはApacheがすべてのリソースを消費していたため、MySQLプロセスIDが強制終了されたためだと確信しています。
私の質問は:
次回これが発生した場合-システム負荷の急上昇の原因を特定するにはどうすればよいですか?クレイジーになったphpスクリプトでしょうか?DDOS攻撃か?
MySQLがクラッシュしたときに自動的にMySQLを再起動する方法はありますか?
インストールしましたhtop
。これはもっと便利top
でしょうか?
ここに私のサーバー統計:
m1.xlarge (8 ECUs, 4 vCPUs, 15 GiB memory, 4 x 420 GiB Storage Capacity)
Ubuntu Server 12.04.3 LTS
dmesg
ますか?