FastCGI化したら「mod_fcgid: read data timeout in 40 seconds」がでたので対処

FastCGI化しているMovableTypeで運用しているとたまに、「Gateway Time-out」や「500 Internal Server Error」が表示されるときがあったので、Apacheのエラーログを見ると、以下のようなエラーが出ていました。

mod_fcgid: read data timeout in 40 seconds

エラーからよくわかるように、40秒以上の処理がかかってしまった場合にタイムアウトでエラーを吐いている。
なので、FcgidIOTimeoutのDirectiveで明示的にタイムアウトまでの時間を指定してやるとエラーしなくなります。

Apacheの設定ファイルhttpd.conf(別で/etc/httpd/conf.d/fcgid.confなどで指定している人はそこ)の、<IfModule mod_fcgid.c>の間に以下を追記すると問題なく動作します。

FcgidIOTimeout 300

上記は、アプリケーションタイムアウトまで300秒の設定。
単位は秒で指定します。