top

WingMemoのダイナミック稼動状況

ここはダイナミック・パブリッシングをテーマにしていますが、実際に稼動させている頁は必ずしも全てがダイナミックになっているわけではありません。では具体的には何をどれくらいダイナミックで動かしているのか?ということを、参考までにメモっておこうと思います(注:2006.8.10現在での状況)。

■WingMemo■
個別エントリーアーカイブ:ダイナミック
日別アーカイブ:ダイナミック
月別アーカイブ:ダイナミック
カテゴリーアーカイブ:ダイナミック
アバウトページ:ダイナミック
ブックマークページ:ダイナミック

メインページ(index.html):スタティック
アーカイブページ:スタティック
カレンダー用月別アーカイブ:スタティック

全頁再構築時間:5~6秒(記事数165)
記事投稿時間:2~3秒
頁表示速度:自分の環境では1秒以内(ほぼ瞬時)

■Product Note■(メインサイトの制作日誌)
個別エントリーアーカイブ:ダイナミック
月別アーカイブ:ダイナミック
カテゴリーアーカイブ:ダイナミック
分割用メインページ(index2.html):ダイナミック

メインページ(index.html):スタティック
アーカイブページ:スタティック

全頁再構築時間:約6秒(記事数220)
記事投稿時間:2~3秒
頁表示速度:自分の環境では1秒以内(ほぼ瞬時)

どちらのブログもダイナミックで運営以来(1年9ヶ月)1回も500エラー経験なし。自分的にはストレス皆無でとても快適です。他のブログがどれくらの時間がかかっているのか分かりませんが、すっかりこの環境に慣れてしまったため、今さら再構築に30秒以上もかかるところには移れないのは確かです(^^;。

■説明とか
・メインページを静的生成にしてるのは、やっぱりリクエスト回数が一番多いかな~という理由で。
・アーカイブページを静的生成にしてるのは、ここにMTに負担をかける変数タグやPerlのプラグインを集中させているからです。
・カレンダーが静的生成なのはバグがあったのもありますが、これも重くてMTに負担をかけるパーツなので、ダイナミックでその都度生成させるよりは静的生成で作成したHTMLを読み込む方が軽くて速いと考えたからです。
無理して全てダイナミックにするのではなく、上手に静的生成と組み合わせていくのがダイナミックを快適に使えるコツかなと思います。

■ダイナミックで頁表示を速くするコツ
今は全頁1カラムですが、2カラムにしていた時もありました。今までの経験から思ったことを書いておきます。

1)MT本体と公開URLは同じドメイン内に置く
XREAやロリポップのようにサブドメインが簡単に作れるサーバーにいると、ついMT本体はaaa.com、公開URLはblog.aaa.comなんてことをやりがちです。が、ダイナミックの場合はこれをやると明らかに表示速度が落ちます。こちらを参照。

2)変数のある共通パーツはなるべく静的生成にして<$MTInclude$>タグで読み込む
具体的には最近のエントリーとか、最近のコメント、最近のトラックバックなど、サイドバーに集約される類のものですね。こういったものはその都度ダイナミック生成させるより、静的生成させたHTMLを<$MTInclude$>で読み込む方がいいです。ダイナミック頁には負担をかけるものはなるべく少なくするようにすると表示スピードもかなり速くなると思います。

3)頁そのものを軽くする
ソースが少なけりゃその分表示スピードもアップする。最近の3カラム&ソースびっしりてんこ盛り状態のブログは静的生成済みHTMLでさえ表示が重い、重い…(泣)。何秒かかったら開くんだー!てなブログも珍しくないような気がします。ましてやダイナミックでは結果これいかに。さっぱり軽いのもいいものですよ~(何より見てる人が助かる^^;)。

☆自分のところ(XREA)が快適なので最近まで知らなかったのですが、ダイナミックでの表示速度はデータベースの性能に左右されるところもあるようです。例えばMySQLが重いサーバーでは頁の表示にかなり時間がかかるということもあるようなので、ダイナミックをする場合はデータベースの負荷具合なども考慮に入れてサーバー選びをした方がいいようです。

(2006.9.5一部改編)