« なんとiTunesがアマゾンを抜いた。いよいよ? | メイン | MovableType再構築高速化案と動的・静的な話2 »

MovableTypeの高速化と動的・静的な話

かのネタフルさんに当wikiのMovableTypeからWordPressへのURL込みの移行方法が紹介されたのですが、その後の展開が丁度気になっているMTの再構築時間の話に。

私のところはアクセスが少ない上回線が細いのでCPUパワーが余り気味です。そこで出来る限りのパーツを静的に出力し、SSIでインクルードするようにしました。おかげで再構築の必要性がほとんどなくなり、負荷も許容範囲で、実質WPと同じように使えています。でも大規模なアクセスがあるサイトでは1msのCPU時間も節約したいでしょうから、こんな手法はそのままでは取れないかもしれません。私もサーバが非力なときはかなり気にしていました。

こちらではCMS全般について静的生成と動的生成について議論されています。静的・動的の利点と欠点を踏まえて、 最大の利便性をユーザに提供するべきであるとのご意見を述べておられます。

ユーザにも書き手にも優しい方がいい

全くご意見には賛成なのですが、現状のシステムにおいて、MovableTypeの再構築システムはやはり大きな欠点ではないかと思います。もちろんMovableTypeには負荷を軽減するための多くの機能が搭載されており、ユーザの使い方次第で、ソースコードをいじることなく、かなり性能を向上できます。しかしこの高速化手法は効果の大きい方法ほど動的手法を使うことになります(phpやSSIなど)

特にコンテンツ管理システムからみると記事のライター、読者はある意味対等にユーザです。再構築などという時間のかかる作業も、動的生成で極度に遅いレスポンスもどちらもまずい選択です。MovableTypeの高速化はテンプレートでMTIncudeなどを行ったあたりが限界です。あとは管理者(!=ライター)が負うべきコストですね。

あちこちで使われてる技法キャッシュ 

結果行き着くのは似たところです。静的手法では最初の生成時間や高負荷は0には出来ません。動的手法では毎回の負荷増加を0には出来ません。両方を満足させるためには結果としてどういう形にせよキャッシュ技術を使うということ。

特に動的生成の手法ではキャッシュによって劇的にレスポンスが改善される可能性があります。DB、サーバソフト内、スクリプト言語、Webサーバと考えられる要素全てにキャッシュがあるといってもいいくらいです。有効に使うことで原理的に静的生成とほぼ変わらないレスポンスが得られるはずです。

またキャッシュはMovableTypeにも有効です。Webサーバのキャッシュはレスポンス向上になりそうですし、再構築中の負荷を見るとかなりデータベースが食っていますのでDBのキャッシュも効くと思います。

特にapacheでのキャッシュは全てに対して有効そうです(WPで試すとWP-Cacheと同等か少し速い)。またsquidなどでリバースプロキシーをかますのも有効かも知れません。

こちらはmysqlのキャッシュ。(実測したらMTの再構築が少し速くなりました)

なるべく楽したいですね

昔からシンプルで確実、複雑で楽というバランスの話はいろんな場面で語られます。ベテランほどシンプルなものを好むような気もします。UnixenがIDEではなくviを好んだり、アメリカの警官がシンプルで故障しにくいリボルバーを好む人も多いなんていう話も根は同じ感じですね。

が、技術は人が楽するためにあるのですから、これを使うことで楽できるのなら、出来るだけ使ってやろうではありませんか。仮に問題が出てもそれを解決することで、また他の人も楽になる可能性が出てきます。使いものにならなければ、元に戻せばいいだけです。

かくいう私もまだ移行してません。一番の敵は"面倒"ということのようで。

#関連先にトラックバックさせていただいてましたがスロットリングとタイムアウトが出ていたようです。
#take to oneself2さん、mt4iの作者さんとは気づいていませんでした。使わせてもらっています。

トラックバック

このエントリーのトラックバックURL:
http://blog.browncat.org/cgi-bin/mt/mt-tb-abc.cgi/356


この一覧は、次のエントリーを参照しています: MovableTypeの高速化と動的・静的な話:

» 続・静的生成と動的生成、Webページをビルドするコストは誰が支払うべきなのか 送信元 talk to oneself 2
前エントリに頂いた反応の中から、気になったものをピックアップ。 [詳しくはこちら]

» 領分の問題 送信元 sside.net
CMSに1万個のエントリがあったと仮定して、静的か動的かを選択するなら、ハードウェア増強の将来性を考えて、運用にあたってストレスフリーな動的生成を支持す... [詳しくはこちら]

» MovableType再構築高速化案と動的・静的な話2 送信元 blog@browncat.org
WordPress/Apacheのキャッシュの効果とMovableTypeの再構築高速化の案などを考えてみました... [詳しくはこちら]

» MovableTypeのテンプレートフィルタと微妙に再構築高速化 送信元 blog@browncat.org
MovableTypeのテンプレートをプログラムで生成・フィルタリングする方法... [詳しくはこちら]

コメントを投稿

(お書きになったコメントはすぐには表示されません。ご了承ください。)


About

2007年06月26日 15:49に投稿されたエントリーのページです。

ひとつ前の投稿は「なんとiTunesがアマゾンを抜いた。いよいよ?」です。

次の投稿は「MovableType再構築高速化案と動的・静的な話2」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

           

カテゴリー

Powered by
Movable Type 3.36

Twitter


最近のエントリー

デル株式会社ads

注目エントリー