Web同士の呼び出しが生み出すアクセス爆発 - 「成分解析-Z」反省レポート

2006/04/23

日曜コラムです、こんばんは。
 
■2006/04/10 [成分をより詳しく解析する?! 「成分解析-Z」
成分をより詳しく解析する?! 「成分解析-Z」]
■2006/04/21 [「成分解析-Z」 - 開始9日で強制停止です。本当にありがとうございました。
「成分解析-Z」 - 開始9日で強制停止です。本当にありがとうございました。]
■2006/04/22 [「成分解析-Z」 - 停止からわずか1日で再開です。本当にありが(ry
「成分解析-Z」 - 停止からわずか1日で再開です。本当にありが(ry]
 
予告どおり「成分解析-Z」を巡る10日間のレポートをお送りいたします。
 
「成分解析」についてはご興味ない方も多いと思いますが、Webアクセスと
サービス連鎖呼び出しの実例については、ご興味ある方も多いかと思います。
 
まずその前に、今回の件で「成分解析-Z」によってご迷惑をお掛けして
しまいました「成分解析 on WEB」の方には重ねてお詫び申し上げます。
 
「成分解析-Z」がどんな動きをしていたか、その部分からご説明しましょう。
成分解析-Z ver0.1~0.21 では、入力された成分を「成分解析 on WEB」を
再帰呼び出しすることで、2段階、3段階の多段解析を行うサービスでした。
 
まず、入力された文字列をエンコードし、「成分解析 on WEB」をHTTPで呼び出します。
「成分解析 on WEB」からは解析結果を表示するためのHTMLページが返ってきますので、
それをパーズして、成分とパーセンテージの部分を抜き出します。
成分は、4~7つくらい、大抵は5つくらいに分かれてきます。今度はそれを入力として、
再び「成分解析 on WEB」にHTTPアクセスを行います。2段階ならここまで。3段階なら
さらにもう1段階、成分の成分を調べるために「成分解析on WEB」を呼び出します。
 


図をご覧いただけると判りますが、2段階解析時には、1+N 回のHTTPアクセスが、
3段階解析時には 1+N+(N×N) 回のHTTPアクセスが発生することになるのです。
Nは成分の解析結果の数ですが、平均では5つくらいですので、
 
 2段階解析=6回、3段階解析=31回 のHTTPアクセスが
 
発生していたことになります。呼び出しもとのプログラムにしてみると
何のことは無い処理ですが、呼び出された先のプログラムには相当な
負担を掛けてしまうことが良く判ります。(もし4段階解析があれば、
1回の解析で156回のHTTPアクセスが発生してしまうことに!)
 
つづいて、4/11~ の「成分解析-Z」のアクセス状況を見てみましょう。
やじうまWatchさんに取り上げて頂きました翌日4/12には、2万pv/日超え
を記録したことまであります。「デジ埋そっちのけ」状態です。
その後も順調に4ケタ後半のアクセス数を連発しました。
 


しかし問題は、色分けをしている部分です。オレンジの部分が2段階解析、
赤の部分が3段階解析ですが、上でご説明したとおり、それぞれは内部で
 
 6倍、31倍のアクセスを誘発しているのです。
 
計算してみると以下のようになります。
 

日付トップ2段階3段階pv合計再帰呼出
4/112,2342,2791,3965,90956,957
4/126,9599,2755,56421,798228,134
4/135,4466,9894,14716,582170,491
4/143,3284,0162,2859,62994,931
4/151,9414,2042,4058,55099,779
4/161,9264,2682,1028,29690,770
4/171,5573,6241,6946,87574,258
4/181,7364,1542,0057,89587,079
4/192,1124,8672,3169,29575,670
4/203,7765,2732,80411,8538,077
4/211,3741,0226213,0171,643
合計32,38949,97127,339109,699987,789

(19日 PM 19:51 以降は解析がエラーになっていますので、
 2段階も3段階も、再帰呼出は1回しかカウントされていません。)
 
11日間の合計pvは109,699、そのうち解析クエリは77,310回ですが、
内部で再帰的に呼び出されたHTTPアクセスの数は
 
 実に100万回近い987,789回に及んでいます。
 
平均すると、ほとんど 1秒に1回 というアクセス頻度になります。
これはもはや弁解の余地はありません・・・本当に申し訳ございません・・・ orz
 
裏を返せば、外部連携を内部連携と同じように見立ててプログラムを書いてしまうと、
このような大量アクセスプログラムをあっさりと生み出してしまうという
良い(悪い?)例になるでしょう。いくらWebがコンピュータ同士のアクセスで
勝手に繋がる世の中になるといっても、あのAmazon Webサービスですら「1秒1回」という
目安がありますし、はてなAPIも大量アクセスをしないように配慮が求められています。
 
最近ではRSSへのアクセスが本体であるHTMLページへのアクセスを上回って
トラフィックを圧迫しているという話も聞かれます。Yahoo! Slurpなどの検索ロボット
が大量アクセスを行うのも有名なお話です。Webの上で PageView として現れない
 
 膨大な「コンピュータ同士のアクセス」が暗躍する
 
のがネットの世界なのです。その流量には何よりもプログラマが気を遣わなければ
いけないところですが、今回の失態はそのことを胸に刻み込ませてくれました。
 
 
それにしても、成分解析に対するアクセス数には舌を巻くばかりです。
上記のデータは純粋に「成分解析-Z」のpv資料としても参考にしてみてください。


2006/04/23 [updated : 2006/04/23 23:59]


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




« 「成分解析-Z」 - 停止からわずか1日で再開です。本当にありが(ry

トップに戻る

親機、子機を持つ一般電話機をSkype端末に! イーレッツの「すかい楽」 »


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



トウカイテイオーと、#ウマ娘 でまた巡り逢った。テイオーを追ったリアルタイムの記憶。


映画は2回目が面白い! 僕らは鑑賞者という名の「共犯者」 ~映画鑑賞に於ける慣れと鑑賞技術の関係


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


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


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


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


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


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


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


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


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


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

ピックアップタグ




ブログ内検索



▼ コメント ▼

No.2315   投稿者 : うらかわ   2006年4月24日 09:44

よく考えたら(考えなくても)、同じ単語は何度やっても同じ結果を返すのですからキャッシュを用意しておけば良かったんですね。結果で出てくる単語は全部で100くらいなので、余裕でキャッシュできますね。


ご自由にコメントください(=゜ω゜)ノ
※管理人は多忙のためお返事はほとんどできません(スミマセン)。
スパムおよび本文と無関係なコメントは削除対象になる可能性があります。


保存しますか?




★コミックダッシュ! 10,000人突破ありがとうキャンペーン!(9/18~10/23)
 
デジモノに埋もれる日々 : (C) CKWorks