Amazon商品の価格変動チェック「あまとも」
コミックダッシュ!は初音ミクGTプロジェクトを応援しています
個人ニュースサイトを巡回する「メガとんトラック」
前の記事次の記事
2006/06/18 23:59 - 2006/06/18

「何でもRSS」の良し悪し - トラフィック・コントロールとRSS粒度


日曜コラムです、こんばんは。
 
あまとも」に 商品別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回/秒 となります。
 
いずれにせよ工夫すれば対処方法はいろいろあるのですが、
ぼーっとしているとこうなる、という例としてご参照ください。


この記事を書いたのは・・・。
CK@デジモノに埋もれる日々 @ckom
ブログ「デジモノに埋もれる日々」「アニメレーダー」「コミックダッシュ!」管理人。デジモノ、アニメ、ゲーム等の雑多な情報をツイートします。




« 懐かしのPC98でMIDI制作映像 - レコンポーザ、MIMPI、NPLAY

トップに戻る

Amazonにも楽天にもない・・・?! 2台目の BiBio wGate を購入 »


▼ はてなブックマークのコメント ▼

はてなブックマークで
コメントしましょう
tsupo 2006/06/19
あなたのサイトが10,000個のRSSを提供していれば、それは突如として2時間に10,000回のアクセス となってあなたを襲ってきます → なるほど。多種類のRSSを提供する場合にはそれなりの余裕が要るってことですね
niyagawa 2006/06/19
oops
wacky 2006/06/19
多数のRSSを配信することのリスク。Web2.0時代では、どの粒度でRSSを提供するのかという設計が非常に重要。
asitaki 2006/06/19
>あなたのサイトが
yorihito_tanaka 2006/06/19
RSSのトラヒック
kkobayashi 2006/06/19
なるほど。厳選したエントリーだけをRSSに載せることでお互い幸せになれるのかも。
otsune 2006/06/19
2時間にたった10000アクセスだったら、機械の力でいくらでも対処できるじゃん。
yuiseki 2006/06/19
粒度
cheebow 2006/06/19
同一ホストへのアクセスコントロールの問題かなぁ。1秒間のアクセス数を少なくするとかして
hatayasan 2006/06/19
「RSSは大量に吐きすぎると、その負荷が自分に跳ね返ってくる」リキッドにRSSを出力するはてなはどうなのだろう
kazuhooku 2006/06/19
iTunes や technorati みたく、キーワードベースで RSS 自動生成にすればいいんじゃないかな
annin102 2006/06/19
RSSは大量に吐きすぎると、その負荷が自分に跳ね返ってくる
REV 2006/06/19
todogzm 2006/06/19
RSSの粒度を細かくしすぎると、Web版RSSリーダから集中的なアクセスを見舞うことになるそうな。
setamise 2006/06/19
RSS粒度とアクセス量の話
facet 2006/06/19
なるほどね。
C_L 2006/06/19
多数のRSSがあるからそれぞれにめがけて定時にアクセスがラッシュするのかな。回線輻輳じゃなくてサーバ負荷の問題であれば静的ファイルの配信速いサーバで専門に配信するとかそういうのダメなのかなー
akahigeg 2006/06/19
こういうのってやってみてはじめてわかるみたいなところがあるから難しい
ore_de_work 2006/06/19
「RSSは大量に吐きすぎると、その負荷が自分に跳ね返ってくる」
walf443 2006/06/19
フィードの粒度の細分化のしすぎはサーバーの負荷となって返ってくる
as365n2 2006/06/20
via d:id:textfile:20060619
nirvash 2006/06/20
del.icio.us warning: non-utf8 string! (sorry)
honeybe 2006/06/20
ふむ。言われてみればそうか。
John_Kawanishi 2006/06/20
「Web2.0の時代は、コンピュータが人間より遥かに多いHTTPアクセスを行う時代です。」負荷削減のためにRSSフィード出さないという時代に逆行するホストとか出てくるのいやだな
denken 2006/06/21
RSSをたくさん公開するときは別鯖に分散というのがオサレかも
k1m 2006/09/13
RSSと負荷
sohei 2006/10/11
RSSと付加対策
makou 2007/03/23
「RSSは大量に吐きすぎると、その負荷が自分に跳ね返ってくる」
leva 2007/08/17
開発談話。ヤフオクの中の人も大変だろーな。ユーザ満足度と鯖の健康具合のバランスが取れるフィードを出さないといけないね。
nshash 2007/08/17
開発談話。ヤフオクの中の人も大変だろーな。ユーザ満足度と鯖の健康具合のバランスが取れるフィードを出さないといけないね。
psychedesire 2007/09/29
なるへそねぇ___。
webmarksjp 2008/07/14
web
tyru 2008/09/01
ひぇぇ
はてなブックマークで
コメントしましょう


「爆音上映」と「辛口ブーム」、映画の上映に於ける音量のラベリング


日本シリーズの最後のシーン(西岡選手の守備妨害)の解釈と、スポーツのルールとコントロール


モノクロレーザーのある生活 - とりあえず印刷(だ)して持って行く習慣


「スマートビエラ」が踏み抜いたというARIBの「放送の一意性確保」ルール


終わってしまった「Amazonガチャ」のサービス検証 - 変われる道はあったのか?


ドリフの思い出と"おとうさん"の言葉 - 「俯瞰的錯誤」のお年頃


「同い年の選手」が引退するニュース、そしてアニメの中の「おじさん」


ネットに於ける「利用者間実名」のリスクが「ワリに合う」未来は想像可能?


作品が持つリアリティと、「自分のリアル」「他人のリアル」「大勢のリアル」


「高校野球」と「バント」と「進塁」と「守備戦略」 - 野球のミドコロ


iPadを”窮屈”に思うボクらが意識させられる「立ち位置」のコト


テレビサイドPCで「話に合わせて検索」して、みんなで見るという話


▼ コメント ▼

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人突破ありがとうキャンペーン!(9/18~10/23)
 
デジモノに埋もれる日々 : (C) CKWorks