公開設定を見直してMovableTypeの再構築を高速化する

Posted by
ぴろり
Posted at
2009/01/19 22:36
Trackbacks
関連記事 (0)
Post Comment
コメントできます
Category
MovableType カテゴリ

  4.2 (4.1 だったかも)になって、アーカイブ毎に構築方法を個々に設定できるようになりました。この構築方法を適切に設定してやることで、 の再構築にかかる時間を短縮することができます。このエントリではその設定方法と具体的な判断基準をまとめてみたいと思います。今まで再構築が遅くてイライラが募っていたユーザの方は是非試してみてください。

この記事をはてなブックマークに追加する この記事のはてなブックマーク数 | この記事をlivedoorクリップに追加する この記事のlivedoorクリップ数 | この記事をYahooブックマークに追加する この記事のYahoo!ブックマーク数 | この記事をdel.icio.usに追加する | Twitterにポストする

構築オプションについて

 個々のの編集画面にある「の設定」をクリックすると現れる「公開」セレクトボックスで、そのの構築方法を指定することができます。.x からされたユーザは、標準でここが「スタティック」に設定されているはずです。各設定項目についてはブログの公開プロファイルに詳細があるので、そちらを参照してください。ここでもそれぞれの構築オプションについて簡単にまとめておきます。

スタティック(規定)
 エントリが公開/下書きに変更されたり、が投稿されて公開されたり、を受信して公開される時に、自動的に再構築が行われます。(の投稿やを受信するだけでは再構築されません。あくまで公開される必要があります)
公開キュー経由
 再構築の動機はスタティックと同じですが、その場では再構築されずに、「再構築すべし!」というマークが付けられます。そして次にrun-periodic-taskが実行されたタイミングで再構築が行われます。
ダイナミック
 静的ファイルを作らずに、リクエストの度にへ問い合わせを行います。高速ですが負荷に弱いです。
手動
 ユーザが明示的に再構築を指示しないかぎり再構築されません。

  の再構築で待たされる要因のほとんどは、スタティックなの構築に費される時間です。いかに再構築を高速化するかということは、すなわち、いかにスタティックなを使用しないか、という一言に集約することができます。

構築オプションの選択

 では具体的に、どういうの場合に、どういう構築オプションを選択すればよいのでしょうか。簡単な判断規準を以下の表にまとめてみました。これによると、スタティックであるというのは、実際にはごく限られたものだけに絞ることができます。

更新頻度:高い更新頻度:低い
即時性:高いスタティック/ダイナミック手動
即時性:低い公開キュー手動

スタティック/ダイナミック

 個別エントリアーカイブやウェブページではスタティック/ダイナミックパブリッシングが最適です。編集内容を確認したり、投稿されたや受信したを即座に反映する必要があるからです。また、例えばこのサイトの左サイドバーのように、最新や最新を一覧表示する場合にも使用します。また、 リーダーのためのフィードも即時性を求められることからスタティック設定にしておきます。

公開キュー

 カテゴリアーカイブや月別アーカイブなどは、記事が投稿されたからといって、即座にそれを反映するような必要性はあまりないと思われます。次回に run-periodic-task が実行されるまでの高々 1 時間程度の間、最新記事が掲載されないといった程度問題であったりします。このサイトの場合、トップページも公開キューで再構築を行っています。があると、数が即座に更新されないという点はありますが、あくまで程度問題です。意外と重い処理になるアーカイブの作成をキューに回すことで大きく高速化することができます。

手動

 ほとんど更新されることのないファイル、例えば などのファイルがスタティック設定になっていることがままあります。スタイルを調整するなどのタイミングで構築されればよいだけなので手動にしてくのが最適です。


この記事を読んだ人はこんな記事も読んでいます 記事リコメンデーションについて

その他の関連する記事


関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

コメントを投稿する

 
 (匿名可/必須/公開)
 (匿名可/必須/非公開)
 (必須)
コメントスパム防止のため投稿前に ランダムな数字 CAPTCHAについて を入力してから投稿してください。お手数ですがご協力のほど宜しくお願いいたします。