朝、自サイトのメンテにアクセスをしたら、libroの表示が猛烈に遅くなっている。普通に1ページ表示するのに30秒ぐらい待たされる。またGoogle App Engineのサーバーが落ちてるのか?と思い(昨日、短時間だがPythonがビジーになりシステムが機能不全を起こしてたのだ)、GAEのシステムステータスを確認に行ったが、全く正常。
サーバーは問題ない。プログラムも特にいじってない。わけがわからずしばらくページのリロードを繰り返していたのだが、少しして気づいた。ページの特定の場所まで読み込んで、そこで止まっている。ページのソースを読み返して、わかった。――AddClipsだ。
ちょうど昨日、ページのソーシャルブックマークへの登録機能として、AddClipsのツールをページに埋め込んだばかりだったのだ。 http://www.addclips.org/にアクセスに行ってみると、案の定、サーバーが止まっていた。こいつが原因だったのか。これのおかげで、libroのサイトとサーバーにはまったく難の問題もないのに、ページのロードがとまってしまっていたのだ。
しかしこれは、AddClipsだけの問題はないだろう。今のサイトは、昔ながらの「契約したサーバーにファイルをアップロードして、それを読み込むだけ」ということはほとんどない。あちこちの外部サーバーにある情報をリンクしてロードし、1つのページを構成している。例えば、アフィリエイトや広告の表示、例えばYouTubeの動画やPicasaなどのイメージ、例えばさまざまなサイトが提供するブログパーツの類い。そうしたものをページ内に貼付け、1つのページが構成されている。
そのページは、それらのサービスがすべて正常に機能しているという前提で作られているのだ。そこに埋め込まれた1つのサービスを提供しているサーバーが停止したら、それを読みに行った段階でページのロードは止まってしまう。もちろん、しばらく反応がなければ、Webブラウザは見切りをつけて表示を進めるため、最終的には(そのサービスが使えなくなるだけで)ページの表示はされる。だが、それまで相当な待ち時間が生ずる。ページにアクセスして30秒も反応がなければ、ほとんどの人は他のサイトに移動してしまうだろう。
例えば、Ajaxなどを利用することで非同期にすべてを読み込むような工夫をすることで、こうした問題を回避することは可能だろうが、そうなるとページへの組み込みが面倒になる。「誰でも簡単に組み込めますよ」という前提でなければこうしたサービスは広まらない。広まらなければビジネスにはならない。といって、急激に広まりすぎると、小規模だった会社が大規模なアクセスに対応しきれずサーバーダウンを引き起こし、それを利用するすべてのサイトの大幅な速度低下を引き起こしてしまうことになる。
大きなサービス、小さなサービス。数々あれど、それらはすべて「一蓮托生」の世界なのだ。どんなちっぽけなサービスであれ、それがページに組み込まれた途端、そのページが表示されるか否かという運命をそのサービスに任せることになる。
ネットというのは、なんてのか「しがらみのない世界」と多くの人は思ってる。だが……実は、しがらみの「形態」が変わっただけで、依然としてこんがらがったしがらみの中で人は生きているのだな。ということをつくづくと感じたのだった。
……ちなみに、書き終わった今、AddClipsのサイトをチェックしたところ、どうやら復旧したようだ。やれやれ。
コメント
コメントを投稿