サーバを移転してからというもの、再構築が猛烈に遅くなった。そこでMovableTypeのダイナミックパブリッシング機能を使ってみた。
サーバがラップトップにかわって、CPUが遅いからなのかディスクが遅いからなのか、何はともあれ、再構築が猛烈に遅い。
Movable Typeでは、クライアントからアクセスに備えて事前にHTMLファイルを生成しておく。アクセスのたびにHTMLを生成するとパフォーマンスが落ちるからである。
しかし逆に、HTMLファイルを生成するという作業を事前に行わなければならない。これが実は遅い。コメントを書いたり、トラックバックをしたりすると、HTMLファイルを生成しなおす。これが僕の設定が悪いんだろうけど、なんとも遅い。
そこで、HTMLを事前に生成しておくのではなくて、クライアントからアクセスのあるたびに生成しなおすのが、ダイナミックパブリッシングである。
Movable Typeにはダイナミックパブリッシングの機能が備わっている。しかし条件がある。
MySQLデータベースを使っている(OK!)
PHPを使っている(OK!)
ApacheまたはIISを使っている(OK!)
Perlのプラグインは使えない。(Nooooo!)
ということで、そのままではMovable Typeのダイナミックパブリッシングが使えないことがわかった。
The blog of H.Fujimotoの再構築を不要にするカスタマイズ(Perl版ダイナミック・パブリッシング)
この問題を解決するための方法を見つけたので早速採用。
インストール時に.htaccessが生成されるのだが、生成される.htaccessには必要はCGIを動かすための記述が抜けているのでそれさえ忘れなければ、簡単に導入できる。
かな~りいい感じ。結構さくさく。
参照するには微妙に時間がかかるようになったが、まぁ許せる範囲だと思う。
亜細亜ノ蛾 – WeblogのMTの動的生成でperlプラグインも動作する「mt-dynamic.cgi」にある、キャッシュの時間を変更する設定をするともうちょっと幸せ。
ついでに、
ページ分割プラグイン(Perl版ダイナミック・パブリッシング専用)・その1
も導入。現在、カテゴリと、月別の表示ページが、10件づつ表示するようになっている。
もうひとつついでに、以前から気になっていたのだが、検索結果の表示のページがおかしい件も修正した。これは、MovableTypeの管理画面やテンプレートの設定画面をいくら眺めていても出てこない。実は、MTのCGIのディレクトリ内。MT/search_templates/default.tmplに入っている。こいつを編集。
何か問題を見つけた場合は、コメント欄にて教えてください。