前エントリ「静的生成と動的生成、Webページをビルドするコストは誰が支払うべきなのか (talk to oneself 2)」には、予想以上にたくさんの反応を頂きました。はてなブックマーク数が30、トラックバックが4。ま、ネタフルにトラックバックしたので多くの方の目にとまった、というのが大きいのでしょうけど。
で、その頂いた反応の中から、気になったものをピックアップ。
まずははてブックマーク - 静的生成と動的生成、Webページをビルドするコストは誰が支払うべきなのか (talk to oneself 2)」より。
Serene Bachは折衷的な手段をとってます。
おっとそれは知りませんでした。何せ Serene Bach を触ったことが無いもので。なるほど。(参考:小粋空間: ブログツール比較(Movable Type / Serene Bach / WordPress))
私のブログはアクセスしょぼいので動的生成でもまったく問題なしです。
気付いてないだけで、実はスパムボットやら何やらにガシガシ蹂躙されていて高負荷となり、閲覧者が頻繁にエラー画面に遭遇していた、なんてことがないように是非お気をつけ下さい。
MTの場合、トラックバックの負荷もけっこう存在する。問題なのは、リビルド時にCPUマックスのまま何時間も実行し続けなければいけないこと。サーバーによってはその時点ではじかれるし、リビルドに失敗していたら大変
ん、トラックバックの負荷というのは、トラックバックスパムを指してますかね?しかしそれは MT に限った話では無いでしょう。そして「リビルド時にCPUマックスのまま何時間も実行し続けなければいけない」なんて状況にならないようにしないと。動的生成にしても、そんなにリビルドに時間が掛かるほどのコンテンツを抱えているのでは、いずれにしても高負荷でサーバーがあっぷあっぷでしょう。高性能なサーバに乗り換えるなどの対策が必要かと。
そのコストは運営者が払うべき → そうなんだけど、サーバの制限で、ある程度以上 entry が増えると rebuild できなくなっちゃう。cpu time 10s 超えるとプロセスを殺されてしまうサーバではどうすればいい?
どうしようもないですね、動的生成で問題なければそちらを選択すれば良いでしょう。どうしても静的生成ツールが使いたいならサーバ乗り換え。
それ関係あるのか?→逆に静的生成においても、リビルドの負荷を下げるべく工夫できることはたくさんあります。mod_perl とか、mod_php とか、Memcached とか
書き方がまずかったですね。次のように書くべきでした。「もちろん動的生成であっても、優秀なキャッシュコントロールの仕組みを採用するなどすれば、サーバーへの負荷を抑えることができます。逆に静的生成においても、リビルドの負荷を下げるべく工夫できることはたくさんあります。サーバーの負荷を下げる、運営者や訪問者の支払うべきコストを下げるための工夫は、世の中にたくさん存在しています。mod_perl とか、mod_php とか、Memcached とか、なんとか。」
で、次にトラックバックから。
イマドキのCMSツールであれば、キャッシュ機構を実現するプラグインぐらいはあるだろうなぁ、と思っていたのだが、WordPressにもやはりあった。
WP-Cache を使って WordPress の表示を速くする
WordPress には WP-Cache というファイルキャッシュを実現するプラグインがあるそうです。へー、ということは、標準でキャッシュ機能は実装していないのですね(と思ったら標準で持っている模様→MovableTypeからWordPressへの移行はよく見られるようですが・・・ | bewaad institute@kasumigasekiのコメント欄)。
これからも細々と気づいたところは直していきたいと思っていますが、最後はサーバ移転が必要になると思いますので、心の準備と知識の準備はしておきたいと思います。
いつかは、仕方ないですね。
そして、今回頂いた反応の中で、一番驚いたのがこれ。
つまり、はじめてそのページにアクセスしたユーザーが「再構築」の負荷を負担する、という方法です。
これと全く同じ発想を、ぼくは全く別の人間から聞いたことがあります。突き詰めていくとここに行くのでしょうか?それともこれって、以前からある発想なのでしょうか。
そして更に驚いたのが、上記の発想をあっという間に形にしてしまったこと。
- 静的生成と動的生成, Webページをビルドするコストは最初の訪問者に支払ってもらいましょう。 (Junnama Online (Mirror))
- 静的生成と動的生成, Webページをビルドするコストは最初の訪問者に支払ってもらいましょう(続き)。 (Junnama Online (Mirror))
- 静的生成と動的生成, Webページをビルドするコストは最初の訪問者に支払ってもらいましょう(さらに続き)。 (Junnama Online (Mirror))
素晴らしい。
「コスト」をそのまま「コスト」と解釈すれば、
もちろん、そういう含みを持たせて書いていました。なので最後にこうまとめているんですね。「タイトルの質問に答えるとすると、そのコストは運営者が払うべき、と個人的には思っています。静的か動的かにかかわらず、サーバーのスペックアップや、大規模な仕組みの導入など諸々含めて。」
すべてはサイトを訪れてくれるあなたのために、という姿勢で考えるべきじゃないんだろうか、などと考えてみたり。
そこが基本だと思います。人に読んで欲しいと思わないなら考える必要は無いかもしれませんが、だったらそんなものは自宅のパソコンの中だけにとどめておいて、ネット上に公開する必要ないですよね。
あと、直接トラックバック頂いていないけど、見つけた記事(その後トラックバック頂きました:-))。
結果行き着くのは似たところです。静的手法では最初の生成時間や高負荷は0には出来ません。動的手法では毎回の負荷増加を0には出来ません。両方を満足させるためには結果としてどういう形にせよキャッシュ技術を使うということ。
なるほどキャッシュ。しかしキャッシュを有効に使うには、ツール側で用意されていない場合、それなりのスキルが要求されるし、手間がかかりますね。環境によっては適用できない場合も。「一番の敵は"面倒"ということのようで」と書かれていますが、確かに。
思うに、ブログがエントリを溜め込めば溜め込むほど、どんどん個人の手には負えなくなっていくのではないかと思っています。色々と工夫できるスキル、サーバをいじれる環境を持っていれば対策も取れるのでしょうが、そうでないブロガーが圧倒的に多いでしょうし。スキルがないなら後は、スキルのある人(業者さん)にお金を払ってお願いするか、月々の費用を割り増しして高性能なサーバーに乗り換えるか、でしょうね。高いお金払ってまで続けるかどうか、それだけの価値のある物なのかどうか、悩む時期が個人ブロガーには必ず来るのかもしれません。
takkyun
はてなブックマークでコメントしたtakkyunです。
このエントリーを受けて、
http://serennz.sakura.ne.jp/sb/log/eid58.html
を書いたのですが、トラックバックが何故か飛んでくれなかったので、こちらでコメントさせていただきます。
yamap
うちでもそうでした。トラバスパムかなにかのスロットリングでは?
太鉄
すみません、確かにトラックバックスパムその他の不正なアクセスが酷くてですね、集中している時にはちゃんとしたアクセスも弾かれちゃってるかもしれません。
出来る限りの対策はとっているつもりなのですがね、むー。
ご迷惑をおかけ致しております。
yamap
mt4iの作者さんだったのですね。
気付くの遅くてすいません。
いつも使わせていただいています。
ありがとうございます。
後、少し過去形気味ですが私もPalm好きです。
とりあえずお礼まで。
太鉄
>yamapさん
いえいえとんでもございません。
こちらこそお世話になっております。
Palm は…、まぁ、ね(笑。
今後ともよろしくお願いいたします。