Internal Server Errorが出ている
FastCGI (FCGI)を導入してMovableTypeをかなり高速化することができたうちのサーバですが、ときどき
500 Internal Server Error
になることがあります。このときerror_logを見ると、
[Mon Feb 16 12:00:00 2015] [warn] [client xxx.xxx.xxx.xxx] mod_fcgid: read data timeout in 40 seconds, referer: https://www.markn.org/cgi-bin/...
こんなエラーを吐いていました。
どうやら、マシンが遅いせいでいろいろ同時進行させると(たとえば再構築をしながら記事を更新するとか)、40秒以上の処理時間がかかってしまってエラーになるようです。Movable Typeは処理が重いので私の遅いサーバマシンではこの傾向が顕著です。
修正するには
これを修正するには、先日導入したときのhttpd.confを修正します。
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
SocketPath /tmp/fcgid_sock/
IPCConnectTimeout 20
IPCCommTimeout 300
MaxProcessCount 8
DefaultMaxClassProcessCount 2
TerminationScore 10
SpawnScore 80
IdleTimeout 300
</IfModule>
上記の赤字部分を追加します。これでタイムアウトが40秒ではなくて300秒になったことになります。この対応で上記エラーは出なくなります。さすがに300秒(=5分)以上かかるということはないので。
実は、これでもうちでは500が出なくなった代わりに
503 Service Unavailable
が出ることがあります。
でもまぁこれはマシンが遅いのに(記事のメンテナンス時などに)たくさんのジョブを投入しすぎるのが原因なので、自分が気をつけることで何とかなります。というよりたくさんの記事を同時に更新するなど、無理な負荷をかけるとこのエラーは免れません。
また、基本的に static publishingをしているWebページの表示にはあまり影響はありません。なので、とりあえず放置することにしました。
匿名
画面が真っ暗、でもカーソルは出てる状況。
探して、ここにたどり着きました。
パスワード入力で、復活!
修理に出す寸前でした。ホントにありがとう!