サーバー負荷が高い原因を調べる

コンピューター

「レンタルサーバーの負荷が高いのか、動作が非常に遅くなった」
知人から相談があり、個人的に対応したのでメモを残しておきます。

ある程度の基礎知識のある方向けです。

(1)レンタルサーバーのコントロールパネルを確認する
格安プラン以外であれば、コントロールパネルからサーバの状況を確認する事ができます。
CPU、メモリ、トラフィック、HDD残量などを見て、特に値が高いものを疑っていきます。
※今回はCPU使用率が突出していました。

(2)SSHでさらに詳しく調べる
コントロールパネルからは詳細な情報を確認できません。
SSH接続を行って、サーバーの状況を確認しましょう。
topコマンドで実行中のプロセスを確認できます。
https://atmarkit.itmedia.co.jp/ait/articles/1706/30/news018.html
※今回はmysqldが突出していました。

(3)mysqlのプロセスを調べる
https://wa3.i-3-i.info/word13578.html
mysqldであればデータベース「mysql」の処理が原因です。

show processlist;
で実行中のクエリが確認できます。
https://www.wakuwakubank.com/posts/344-mysql-kill-query/

(4)クエリを停止する
SSHからmysql操作も可能ですが、ちょっと面倒なのでphpMyadminからの操作が簡単です。
show processlist;
と実行するとクエリ一覧が表示されます。
その一覧から問題となっていそうなクエリを停止します。

(5)負荷が下がったら完了
・処理がループしているか
・時間がかかる処理がずっと実行され続けているか
が原因の場合が多いと思います。
※今回はこれにて正常に戻りました。

ちょっとしたプログラムの手違いでサーバーが暴走する事もよくあります。
そのような際に、原因がわかればすぐに復旧する事ができます。
勉強になるいい機会でした。

CS3 ALiCE(シーエススリー アリス)

コンピューター