MovableType再構築で500 Internal Server Error

Pocket

 最近MovableTypeで新しいエントリを再構築しているとき、500 Internal Server Errorが出るようになりました。
 dbが巨大化して再構築している間にタイムアウトしているのだろう、と思って調べたところ、kh.logさんのMovableType3.2の負荷低減作戦というエントリに情報がありました。
 改善方法は以下の通り。


 MovableTypeのインストールディレクトリのtmplフォルダ内cmsフォルダに、拡張子.tmplのテンプレートファイルが格納されています。このうちpinging.tmpl(トラックバックping送信画面のテンプレート)、rebuilding.tmpl(再構築画面のテンプレート)をテキストエディタで開いてみると、doRedirect()というjavascriptのfunctionを呼び出しているsetTimeout()関数があります。
setTimeout(‘doRedirect()’, 200);
 この200というのはミリ秒ですから、200を2000にすれば2秒待ってもらえます。
 junk_results.tmplは迷惑コメント削除画面のテンプレートのようです。
 わたしが触ったのはpinging.tmpl、rebuilding.tmplだけですが、同様にsetTimeout()で待っている箇所のあるものはタイムアウトをいじることができます。
 様子を見て長めにしてやったところ、症状は改善してきました。
 しかしkh.logさんによるとこれだけではダメなようで、実際わたしのところでも依然として時々エラーになります。
 面倒なのでとりあえずこれだけやって放置していますが(笑)、何か決定的方法はないものですかね。
ブログ自由自在 Movable Type 上級カスタマイズ術ブログ自由自在 Movable Type 上級カスタマイズ術

シェアする

  • このエントリーをはてなブックマークに追加

フォローする