ダイナミックパブリッシング

サーバを移転してからというもの、再構築が猛烈に遅くなった。そこで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を動かすための記述が抜けているのでそれさえ忘れなければ、簡単に導入できる。

かな~りいい感じ。結構さくさく。

参照するには微妙に時間がかかるようになったが、まぁ許せる範囲だと思う。

亜細亜ノ蛾 – WeblogMTの動的生成でperlプラグインも動作する「mt-dynamic.cgi」にある、キャッシュの時間を変更する設定をするともうちょっと幸せ。

ついでに、

ページ分割プラグイン(Perl版ダイナミック・パブリッシング専用)・その1

も導入。現在、カテゴリと、月別の表示ページが、10件づつ表示するようになっている。

もうひとつついでに、以前から気になっていたのだが、検索結果の表示のページがおかしい件も修正した。これは、MovableTypeの管理画面やテンプレートの設定画面をいくら眺めていても出てこない。実は、MTのCGIのディレクトリ内。MT/search_templates/default.tmplに入っている。こいつを編集。

何か問題を見つけた場合は、コメント欄にて教えてください。

コメントを残す