CMSの憂鬱
CMSの憂鬱なんつって
ブログとかのCMSで鬱になることは負荷の問題で、特にトラックバックを受けたり、コメントを受けたり、1個エントリーした場合、ページを再構築する必要がある。
自分は知り合いしか利用していない自作のブログサービスを立ち上げてるんだけど、これは静的に書き出すタイプで、記事数が増えてくると投稿してから完了までだいぶ時間がかかるようになってきた。 まだ別に問題ないレベルだけど、そのうちいじりたいなあと思っていた。
再構築には2タイプあって、動的にサービスを提供している場合これはあまり問題にはならない。 静的にHTMLを書き出している場合、負荷が一時的に高くなってします。
静的に書き出す場合
・閲覧は非常に軽い だってHTMLなんだもん
・再構築するときに負荷がかかる
・記事数が増えていくと、いつかは破綻するモデル
・大量のトラックバックスパムがくると、あらたいへん・・
動的
・再構築なんてないんです。
・でも閲覧は慢性的に負荷がかかってしまう
・アクセスが集中するとあら大変(かも)
多くのブログサービスなんかは必ずどっちかのパターンになってるわけだと思う。
で、考えたのがハイブリッドシステムで、無限に増えていく可能性があるエントリーページは動的に、トップページなどの比較的アクセスがあるページは静的に書き出す。
/archives/〜.htmlとかはrewriteでCGIに渡す、 /category/とかのインデックスページは静的に書き出す。 インデックスページは数は決まってるし、いいじゃんこれ?とか思った。
記事によってアクセスの割合違って動的なエントリーページでもアクセス集中で負荷があがる可能性が高い。 でDBなんかでページをカウントしていって、一定時間のアクセス割合を考えて、負荷が高そうなエントリーだったら静的に書き出してあげたりするとなおよさげ。
てか普通にこういうサービス提供してるのかも?とか思ったりしたけど、どっかあるのかな。
MTなんかだとPHPも使えるみたいだけど、あれってハイブリッドなのかなー?