さくらインターネットのレンタルサーバ(スタンダードプラン)を WordPress で利用しています。
2013年12月に入ってから(くらいだと思うが)、「Internal Server Error」が頻発しています。
問題ない時もあるのだが、load averages に比例して発生しやすいという訳でもない。
サーバに ssh でログインして、topで Watching してみると、1.0 以下は少なく、30.0 くらい
までの上昇は見届けた。輻輳状態ではないか…
このエラーは、パーミッションや .htaccess のミス設定で発生することが知られていると思い
ますが、さくらの場合、そのサーバでユーザに割り当てられている「メモリ容量」のオーバー
によっても発生するらしいです。
phpinfo での閾値は「128M」
php-cgi のプロセスは「75M」程度であったので、まずは wp-config.php に下記を追記する。
define(‘WP_MEMORY_LIMIT’, ’96M’);
改善せず…
「PhpTop」を利用してみたところ、wp-cron が重い様子。
とりあえず(仕方なく)、wp-cron を止めてみるため、wp-config.php に下記を追記する。
define(‘DISABLE_WP_CRON’, ‘true’);
プロセスは「45M」くらいになり、かなりコンパクト化されましたが、それでも、やはり
「Internal Server Error」は発生します。(減ったかどうかも、よくわからない)
これにより、リミットは削減しました。
define(‘WP_MEMORY_LIMIT’, ’64M’);
少なくとも、自己努力でリソースは削減したので、様子をみてみます。
でも、wp-cron が止まっていると、自動バックアップ系プラグインが動作しないので…
契約更新したばかりなのに、困ったものです。
後日談
さくらのサポートから、本件の問い合わせに対する回答がありました。
—————————————————————————————————-
サーバ内のログを確認いたしましたところ、メモリ使用量の上限に達した
為にプロセスが強制終了されている履歴が多数ございました。この為、
500エラーが発生いたしております。
なアクセスがある場合は制限を行う、
静的コンテンツに切り替える、
メモリ使用量の削減を図ってくださいますようお願いいたします。 なお、
—————————————————————————————————-
想定どおりの回答でした。
問い合わせ→回答、までの間にサーバの負荷も落ち着いたようで、一旦エラーも治まった
感じではあります。
wp-cron の停止による効果もあったかと思いますが、サーバ負荷があがるとまたエラーが
頻発する可能性は十分ですね。
※wp-cron は、OS の cron で直接キックする方法に変更した。(無駄に動かさないため)
これ以上できることはないので、再度「Internal Server Error」が頻発したら引っ越すしか
ないかもしれない。