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/11 | 2,234 | 2,279 | 1,396 | 5,909 | 56,957 |
4/12 | 6,959 | 9,275 | 5,564 | 21,798 | 228,134 |
4/13 | 5,446 | 6,989 | 4,147 | 16,582 | 170,491 |
4/14 | 3,328 | 4,016 | 2,285 | 9,629 | 94,931 |
4/15 | 1,941 | 4,204 | 2,405 | 8,550 | 99,779 |
4/16 | 1,926 | 4,268 | 2,102 | 8,296 | 90,770 |
4/17 | 1,557 | 3,624 | 1,694 | 6,875 | 74,258 |
4/18 | 1,736 | 4,154 | 2,005 | 7,895 | 87,079 |
4/19 | 2,112 | 4,867 | 2,316 | 9,295 | 75,670 |
4/20 | 3,776 | 5,273 | 2,804 | 11,853 | 8,077 |
4/21 | 1,374 | 1,022 | 621 | 3,017 | 1,643 |
合計 | 32,389 | 49,971 | 27,339 | 109,699 | 987,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]
ブログ「デジモノに埋もれる日々」「アニメレーダー」「コミックダッシュ!」管理人。デジモノ、アニメ、ゲーム等の雑多な情報をツイートします。
@ckom をフォローする
« 「成分解析-Z」 - 停止からわずか1日で再開です。本当にありが(ry | トップに戻る | 親機、子機を持つ一般電話機をSkype端末に! イーレッツの「すかい楽」 » |
▼ はてなブックマークのコメント ▼
関連記事
ピックアップタグ
- アニメ(440)
- GSR(319)
- ライブ(79)
- イベント(207)
- コラボカフェ(35)
- VTuber(25)
- アニメ吐き出しメモ(10)
- ウマ娘(50)
- 舞台挨拶(45)
- 先行上映会(19)
- トークショー(20)
- バンドリ!(51)
- ガールズ&パンツァー(59)
- 少女☆歌劇レヴュースタァライト(60)
- ゾンビランドサガ(9)
- プリンセス・プリンシパル(19)
- スタリラ(31)
- コラム(171)
- ゲームプレイ日記(69)
- ワンフェス(13)
- コメンタリー上映(7)
- 岩浪美和(25)
- 大洗(9)
- 響け!ユーフォニアム(12)
- リズと青い鳥(9)
- RAISE A SUILEN(10)
- 艦これ(23)
- ストライクウィッチーズ(23)
- メイドインアビス(8)
- BLAME!(8)
- ヤマノススメ(7)
- ラブライブ!サンシャイン!!(11)
- HELLO WORLD(6)
- 宇宙よりも遠い場所(5)
- ヴァイオレット・エヴァーガーデン(8)
- 私に天使が舞い降りた!(9)
ブログ内検索
▼ コメント ▼
No.2315 投稿者 : うらかわ 2006年4月24日 09:44
よく考えたら(考えなくても)、同じ単語は何度やっても同じ結果を返すのですからキャッシュを用意しておけば良かったんですね。結果で出てくる単語は全部で100くらいなので、余裕でキャッシュできますね。
コメントしましょう