「何でもRSS」の良し悪し - トラフィック・コントロールとRSS粒度
2006/06/18日曜コラムです、こんばんは。
「あまとも」に 商品別RSS が加えられたのは、ちょうど2週間前のことです。
それまでは「あまとも」に登録されている商品全体に対して、
価格変動のあった商品をお知らせするRSSを1つだけ提供していたのですが、
自分の興味の無い商品の価格変動を延々と見せられても困りモノですので、
ユーザのみなさんが自分の興味のある商品の変動だけをRSSリーダに登録
できるように商品別RSSを吐き出すように変更してみたのです。
ところが、この商品別RSSを提供し始めてから、ある変化が起こりました。
サーバ負荷が急激に上がる時間帯が出始めたのです。
RSS自体は全て、価格が変動したときだけ更新される静的なxmlファイルで、
価格チェック処理ののときに合わせて、いわば「ついで」として吐き出す
ようにしているもので、生成処理に特に負荷が掛かるワケでもありません。
では何がこんなに負荷となっているのか?
と思って調べてみると、思わぬモノに出くわしました。それは、
Webサーバのログに記録された、Bloglinesから大量アクセス
です。crawler.bloglines.com というホストからのアクセスが、
多いときには何と、
1秒間に60回といった猛烈な頻度で
やってきていました。しかもそれが、2時間おきくらいに同じコトを
繰り返してきます。これはたまったものではありません。
さらに事態は悪化します。Bloglinesのログを発見したすぐ後に、
今度はLivedoor Readerからのログが
大量に記録されるようになりました。これもBloglinesに負けず劣らずの
大量アクセスを容赦なく浴びせてきます。
では、実際にどのくらいのアクセスが襲ってきたのか、数字で確認してみる
ことにしましょう。ちなみに、xmlを除いたhtmlやcgiだけのアクセスで見ると、
「デジ埋」「デジモノREVIEW」「メガとんトラック」「あまとも」は
全て合計しても 20,000pv/day 程度のアクセスしかありません。
それに対して以下の数字はどうでしょう?
これは「あまとも」の商品別RSSだけに対するアクセスの数です。
■2006/06/11 の /amatomo/rss/ 配下のアクセス数
39,152 Bloglines
23,252 Livedoor FeedFetcher
1,497 その他
63,901 合計
目を覆いたくなるような惨状です。1日は86,400秒ですから、
これがなだらかな頻度で襲ってくれば 1秒に1アクセス という計算です。
ところが先ほども説明したように、実際にはBloglinesのクロウラーは
2時間に1度動き、そのたびに 秒間30回 といった集中的なアクセスを浴びせてきます。
もしこれが個人の書いたスクリプトなどからのアクセスであれば、
心苦しくとも「ひとまずアク禁にして様子見」という手を打つことができます。
しかし、Bloglines や Livedoor Reader ですとそうもいきません。
その先には当然、これらのRSSをチェックしているユーザの方がいるからです。
こちらで提供しているRSSは、これらの著名なRSSリーダでチェックできることが
最低条件であり、これらのRSSリーダのクロウラーのアクセスを弾いてしまうと、
「RSSを提供している」という言葉そのものに偽りアリ!
ということになってしまうのです。こうなるともう、八方塞がりです。
逆に、
「そもそもBloglinesやLivedoor Readerのクロウラーのほうが、
節度がなさ過ぎる からこんな問題が生じるんじゃないか?」
とおっしゃる方もいらっしゃるでしょう。しかし、これらのクロウラーの立場
からしてみれば、あまともの商品別RSSなどとは比べ物にならないほど大量の
大量の RSS Feed を短時間でチェックする必要があります。そのために必要な
スケジュールを組んでいるにすぎません。
もうお判りでしょうか。根本の原因は、
RSSを大量に吐きすぎるサービス(=あまとも)の側にあります。
RSSは大量に吐きすぎると、その負荷が自分に跳ね返ってくる
のです。これが人間の閲覧するページであればそれほど気にすることは
なかったのですが、いわゆる「bot」(自動プログラム)にチェックされる
対象となるデータ(=RSS)を無節操に作ってしまうと、それらが全て、
短間隔で定期的にチェックされるべき存在として捉えられてしまいます。
botの側では、どれが重要なRSSで、どれが意味の薄いRSSなのかといった
区別はつきません。Bloglinesなどでは、自らのチェックの負荷を下げるために
更新頻度の低いRSSはチェック頻度も下げるように自動調整されているようですが、
それとて、誰かがチェックしているRSSである以上、チェックの手間自体が完全に
省けるワケではありません。
あなたのサイトがRSSを1つ提供しているだけであれば、これは2時間に1回の
アクセスという何でもない事象にしかなりません。ところが、あなたのサイトが
10,000個のRSSを提供していれば、それは突如として
2時間に1回、10,000回の集中アクセス となってあなたを襲ってきます。
botはある意味、どんなRSSにも平等です。
そうなると、サービス提供側(=RSS提供側)のほうが頭を捻らなければなりません。
もちろん、あなたのサーバが
どんな大量アクセスでもどんとこーい
な場合は特に気にする必要はありませんが、そうではない場合には、
どの粒度でRSSを提供するのかという設計は非常に重要になります。
Web2.0の時代は、コンピュータが人間より遥かに多いHTTPアクセスを行う時代です。
あなたが見た1つのWebページは、実は裏でコンピュータ同士のアクセスが
何回~何十回~何百回も行われた結果 として作られたページなのです。
サービス提供者は毎日毎日こうした ログとにらめっこ をしながら、
コンピュータからの自動アクセスの動向を把握しつつ、それらと
どう折り合いをつけていくか を考える日々を過ごしているのです。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
※追記 2006/06/19 PM12:45
すみません、記載ミスがありました。はてなブックマークで、
「2時間にたった10000アクセスだったら、機械の力でいくらでも対処できる」
との適切なツッコミを頂いてしまいましたので、訂正いたします。
「2時間に10,000回のアクセス となって・・・」のくだりは、
「2時間に1回、10,000回の集中アクセス となって・・・」と書こうとしたものが、
表現をミスしてしまったものです。その旨本文も修正いたしました。
具体的な数字を挙げますと、
6/12 20:23:25~20:25:35 の 131秒 の間に 3,982回 のアクセスを
Bloglinesから頂きました。これは平均すると 30.4回/秒 となります。
いずれにせよ工夫すれば対処方法はいろいろあるのですが、
ぼーっとしているとこうなる、という例としてご参照ください。
2006/06/18 [updated : 2006/06/18 23:59]

ブログ「デジモノに埋もれる日々」「アニメレーダー」「コミックダッシュ!」管理人。デジモノ、アニメ、ゲーム等の雑多な情報をツイートします。
@ckom をフォローする
![]() « 懐かしのPC98でMIDI制作映像 - レコンポーザ、MIMPI、NPLAY | ![]() トップに戻る | ![]() Amazonにも楽天にもない・・・?! 2台目の BiBio wGate を購入 » |
▼ はてなブックマークのコメント ▼
関連記事
ピックアップタグ
- アニメ(429)
- GSR(300)
- ウマ娘(49)
- ライブ(75)
- イベント(196)
- コラボカフェ(34)
- 舞台挨拶(43)
- 先行上映会(19)
- トークショー(20)
- アニメ吐き出しメモ(10)
- バンドリ!(51)
- ガールズ&パンツァー(58)
- 少女☆歌劇レヴュースタァライト(58)
- ゾンビランドサガ(9)
- プリンセス・プリンシパル(17)
- スタリラ(31)
- コラム(170)
- ゲームプレイ日記(69)
- ワンフェス(12)
- コメンタリー上映(7)
- 岩浪美和(25)
- 大洗(9)
- 響け!ユーフォニアム(12)
- リズと青い鳥(9)
- RAISE A SUILEN(10)
- 艦これ(23)
- ストライクウィッチーズ(23)
- メイドインアビス(8)
- BLAME!(8)
- ヤマノススメ(7)
- ラブライブ!サンシャイン!!(11)
- HELLO WORLD(6)
- 宇宙よりも遠い場所(5)
- ヴァイオレット・エヴァーガーデン(8)
ブログ内検索
▼ コメント ▼
No.2999 投稿者 : 黒 2006年6月19日 09:37
先週末、個人的にあるサービスを考えていました。
これを見て公開をやめる事を決意しました。
ところであまともさんはどうしますか?
個人的には商品個別は多すぎるのではないかと思います。
ジャンル別(種類によってどこまで落とすかですが)で良いのではないかと。
No.3001 投稿者 : yoosee 2006年6月19日 17:52
とりあえずダメ元で、bloglines と livedoor に rss へのアクセス時間をばらけさせることが出来ないかを聞いてみるのはどうでしょうか?
No.3002 投稿者 : あ 2006年6月19日 19:43
タイトルを見て
http://blogwatcher.pi.titech.ac.jp/nandemorss/
なんでもRSS!のことかと思っちゃいました…
No.3012 投稿者 : itochan 2006年6月20日 15:02
生成するRSSを、生成したRSSだけを、いくつかのサーバーに分散すればいいってことですか?
No.3082 投稿者 : 匿名 2006年6月28日 16:25
botのアクセスログだけ吐かない様にするとか、色々対策できるんじゃね?
コメントしましょう
あなたのサイトが10,000個のRSSを提供していれば、それは突如として2時間に10,000回のアクセス となってあなたを襲ってきます → なるほど。多種類のRSSを提供する場合にはそれなりの余裕が要るってことですね
oops
多数のRSSを配信することのリスク。Web2.0時代では、どの粒度でRSSを提供するのかという設計が非常に重要。
>あなたのサイトが
RSSのトラヒック
なるほど。厳選したエントリーだけをRSSに載せることでお互い幸せになれるのかも。
2時間にたった10000アクセスだったら、機械の力でいくらでも対処できるじゃん。
粒度
同一ホストへのアクセスコントロールの問題かなぁ。1秒間のアクセス数を少なくするとかして
「RSSは大量に吐きすぎると、その負荷が自分に跳ね返ってくる」リキッドにRSSを出力するはてなはどうなのだろう
iTunes や technorati みたく、キーワードベースで RSS 自動生成にすればいいんじゃないかな
RSSは大量に吐きすぎると、その負荷が自分に跳ね返ってくる
?
RSSの粒度を細かくしすぎると、Web版RSSリーダから集中的なアクセスを見舞うことになるそうな。
RSS粒度とアクセス量の話
なるほどね。
多数のRSSがあるからそれぞれにめがけて定時にアクセスがラッシュするのかな。回線輻輳じゃなくてサーバ負荷の問題であれば静的ファイルの配信速いサーバで専門に配信するとかそういうのダメなのかなー
こういうのってやってみてはじめてわかるみたいなところがあるから難しい
フィードの粒度の細分化のしすぎはサーバーの負荷となって返ってくる
via d:id:textfile:20060619
del.icio.us warning: non-utf8 string! (sorry)
ふむ。言われてみればそうか。
「Web2.0の時代は、コンピュータが人間より遥かに多いHTTPアクセスを行う時代です。」負荷削減のためにRSSフィード出さないという時代に逆行するホストとか出てくるのいやだな
RSSをたくさん公開するときは別鯖に分散というのがオサレかも
RSSと負荷
RSSと付加対策
「RSSは大量に吐きすぎると、その負荷が自分に跳ね返ってくる」
開発談話。ヤフオクの中の人も大変だろーな。ユーザ満足度と鯖の健康具合のバランスが取れるフィードを出さないといけないね。
開発談話。ヤフオクの中の人も大変だろーな。ユーザ満足度と鯖の健康具合のバランスが取れるフィードを出さないといけないね。
なるへそねぇ___。
web
ã²ãã
コメントしましょう