Entry

Movable Typeの軽量化

このサイトは長い事CMSツールとして、Movable Typeを利用している。長い事使っているので、それなりに記事数も蓄積されている。しかし最近、それに伴ってサイトの構築にやたらと時間がかかるという問題を抱えるようになってしまった。

Movable Typeは記事を書くと静的なページ(要するにhtmlファイル)を生成する。これは、閲覧者がサイトにアクセスした際にHTMLのダウンロード以外の負荷がかからない一方、リンク等の整合性を保つために多数のページを更新するため、記事を書いた際の負荷が高い(ただし1度だけ)。ただ、複数ユーザーでの利用やコメント、トラックバックを頻繁に受信するなど、更新が頻繁になると負荷がそれなりに高くなる。
逆に、閲覧者がサイトにアクセスする度に随時ページを生成する方式を動的生成と言う。こちらは記事を書く際の負荷は低いがアクセス数が多いと負荷が高くなるので、サーバに対してあまり優しくないという側面を持つ。

MovableTypeの静的生成は記事数が多くなると、1つ記事を書くだけで結構な時間がかかるようになる。記事数が増えるに従って徐々に時間が長くなり、最近はこれが結構なストレスになるようになってきた。
最近は、動的生成型のWordPressを利用する人が多いようなので、こちらに乗り換える事も検討してみたけど、今さら乗換えるのも移行作業に時間がかかって大変だし、できればもう少し様子を見たい。
そこで、Movable Typeで「一部」を動的生成する方法を取った。Movable Typeでは多くの使い方として静的生成を行うけど、動的生成を行う事も可能。
ここで「一部」というのは、見出しとなるインデックスページの事。個別の記事とトップページを除いた多くのページが該当する。要するに、記事を書く際、整合性のために大量に更新されるこれらのインデックスページの静的生成をやめる事にした。

すると、記事を書いた際に反映されるまでの時間が驚くほど減少。以前は一つ記事を書く度に更新に30秒~1分ぐらい待たされたのに、10秒ぐらいになった。正直、これほどの差が出てくるとは思わなかった。
そんなわけで、月別ページやカテゴリページ等のインデックス用のページは開くのに時間がかかるようになってしまったけれど、記事の更新がやりやすくなったのでとりあえず満足。WordPressの利用の検討はまた今度。
ちなみに、動的生成にしたページのアドレスは見かけ上「.html」になっているけれど、これは.htaccessでアドレスを置き換えただけのなんちゃってHTML(何それ)なので、動的生成はされている。

とりあえず、まだ置き換えたばかりでページのエラーが出る箇所もあるかもしれないけれど、とりあえず徐々に直していく方向で。

追記

的生成(ダイナミック・パブリッシング)に変更した際、するといくつかのページで「ページが見つかりません」というエラーメッセージを吐くようになってしまった。調べてみると、以下のような事象を発見。

小粋空間: Movable Type 4.261 でのダイナミックパブリッシングエラーについて
うろうろ…

何だ、ただのバグか…。とりあえず手作業でソースを修正して事なきを得る。


Comments (0 件)

コメントを残す

メールアドレスが公開されることはありません。