Amazon商品の価格変動チェック「あまとも」
コミックダッシュ!は初音ミクGTプロジェクトを応援しています
個人ニュースサイトを巡回する「メガとんトラック」
全ての記事 携プレMP3 デジカメ レコーダ ゲーム メモリ デジモノ コラム 雑談 ブログ あまとも コミックダッシュ!
前の記事次の記事
2006/04/23 23:59 - 2006/04/23

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

カテゴリ : コラム タグ :

    日曜コラムです、こんばんは。
     
    ■2006/04/10 [成分をより詳しく解析する?! 「成分解析-Z」]
    ■2006/04/21 [「成分解析-Z」 - 開始9日で強制停止です。本当にありがとうございました。]
    ■2006/04/22 [「成分解析-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資料としても参考にしてみてください。

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



    投稿者 CK : 記事URL | コラム | | 2006/04/23 23:59


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

    トップに戻る

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



    ▼ コメント ▼

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

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


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


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


    ▼ トラックバック ▼

    このエントリーのトラックバックURL:

    このリストは、次のエントリーを参照しています: Web同士の呼び出しが生み出すアクセス爆発 - 「成分解析-Z」反省レポート:

    トラックバック時刻: 2006年4月25日 04:12

    » [web]デジモノに埋もれる日々: Web同士の呼び出しが生み出すアクセス爆発 - 「成分解析-Z」反省レポート from 北の大地から送る物欲日記
    ネット上では、数週間前からブームになってた「成分解析」を更に一歩踏み込んだサービスを作ってたckさんとこのアクセス爆発顛末レポート。 成分解析を再帰的に行う... [続きを読む]

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