エックスサーバーで運営している自分のサイトを見ていて、ときおり「500 Internal Server Error」になる事象が出てきました。

画面が、こういった表示になります↓
500 Internal Server Error

1~2分くらいで復活し、正常に動くようになります。

最初は「サーバーに何かあったかな」くらいに思っていたのですが、何度か発生するのを見て「何かおかしい・・・」と感じました。

断続的に発生する場合の原因としては、次のように書かれています。

500 Internal Server Error 原因

CGIプロセスの多数動作という内容、それから、発生時間で思い当たりました。

cronコマンドだ、と。

エックスサーバーでいくつもcronコマンド設定を行っており、その動作時間を「毎時0分」にしているものが多かったのです。

なので、毎時0分過ぎあたりでコマンドが一斉に実行されてCGIが一気に動作⇒500エラーになったものと思われます。

早速、管理画面に行って、cronコマンドの動作時間を散らす(分散させる)ように設定。

すると、おさまった様子!

エックスサーバー cronコマンド設定画面
↑分散

エックスサーバーはcronコマンド設定数に制限がなく、いくつでも設定できるようになっていますが、注意して使わないと上記のようなこと(500 Internal Server Errorの発生)が起こってしまうこともあるんですね。