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

自宅サーバの重さはやはりネットワーク側に原因が・・・?

カテゴリ : コミックダッシュ! タグ :

    コミックダッシュ! - 集めているコミックの新刊をオートマチェック!
     
    相変わらず 「コミックダッシュ!」「あまとも」 ほか
    自宅サーバで運用中の各種サービスが重い状態が続いています。
    みなさまにご迷惑をお掛けして申し訳ございません。m(_ _)m
     
    特にコミックダッシュ!についてはまだまだ発展途上のサービスで、
    改善が必要な項目や、新しいアイデアなどがたくさん溜まっているのですが、
    残念ながらいまのところは 「負荷対策が何よりも最優先」 という状態にあり、
    ここ数ヶ月はずっとその原因究明に追われているというのが実状です。
     
    ■2007/07/18 [コミックダッシュ!等の重さ対策についていろいろと試行錯誤中です]
    ■2007/09/21 [コミックダッシュ!などいくつかのサービスでmod_perlテスト中です]
    ■2007/09/25 [サーバの負荷軽減のための対策を継続中 - 早朝バッチの見直しなど]
     
    コメントでご指摘を頂きました gzip圧縮 についても先日から導入を始めました。
    一般的なブラウザからのアクセスはgzip圧縮でレスポンスを返しているはずです。
    Apacheのログでもレスポンスサイズが数分の1に減っていました。
    それでも、一向に事態が改善している様子はありません。
     
    前々から、
     
     これは『サーバ負荷』ではなく『ネットワーク負荷』ではないか?
     
    という疑念は薄々と持っていました。しかし当面、目の前にあるサーバ内の
    プログラムに対して改善ポイントがいくらでも見つかっていましたので、
    そちらを1つずつ対処していたというのが今までの流れです。
     
    しかし本日、ついにそのネットワーク側の問題に目を向ける決心をしました。
     
    まず、さくらインターネットの レンタルサーバ (月額500円)を契約し、
    自宅外のサーバ拠点を作ります。そして、そこから自宅サーバに対して
    コミックダッシュ!の1ページをゲットしてその秒数を測るというスクリプトを
    まわしてみました。また、同じ頃に、自宅内のファイルサーバからも
    まったく同じ処理をまわしてみることにしたのです。
     
    図にするとこんな感じになります。
     

     
    その結果は、顔面蒼白モノでした・・・・。
     

     
    グラフは昼13時~早朝5時までの16時間ぶんのデータです。青い部分が
    宅内からのアクセス、緑の部分がレンタルサーバからのアクセスになります。
     
    宅内からのアクセスはほとんど 1~2秒 で完了している一方、
    レンタルサーバからのアクセスは何と 5秒~30秒、酷いときには
    60秒以上 も掛かっているログが出てくるではありませんか・・・!!
     
    一見すると「宅内のほうが速いのは当たり前でしょ?」という気が
    しないでもありませんが、しかし、これは全く同時刻のアクセスです。
    もし各サービスの重さの原因が Webサーバ側の負荷 にあるとしたら、
    宅内からのアクセスも負荷に応じてレスポンスが悪化していなければなりません。
    ですが実際には、宅内からのアクセスはほとんど良好な状態を保っているのです。
     
    そう、明らかに戦う相手を間違えていたのです。
    そして、今まで意識していなかった「敵の顔」がハッキリ見えてきました。
     
    図の中でいうと、1のルートに発生せず、2のルート だけに発生する負荷が、
    何か必ずあるはずです。いくつか候補を挙げてみます。
     
     (1)新ドメイン(ckworks.jp)のDNSレスポンスが良くない
     (2)Bフレッツの回線共有者の中に帯域を食いつぶしている人がいる
     (3)異常な帯域使用を理由に、ISP側で帯域制限をされている
     (4)ルータの処理能力を超えてボトルネックが発生している
     
    この中でまず(1)のDNSレスポンスについては可能性をほぼ消しました。
    レンタルサーバからのアクセスをドメイン名ではなくIPアドレス直書きで
    試してみたのですが、それでもレスポンスに改善は見られなかったためです。
     
    (2)と(3)はともにBフレッツ側の帯域の問題、図でいうとBの部分にあたります。
     
    Bフレッツ・ハイパーファミリー は最大32人で上位回線を共有しますので、
    (2)のように回線共有者との兼ね合いで速度に影響を受ける可能性は十分にあります。
    もしかすると Bフレッツ・ベーシック (1人占有)にグレードアップすることで
    解決する可能性があるのかもしれません。お値段は倍になりますが・・・。
     
    (3)はむしろ自分のほうが上位回線に迷惑を掛けているという状態ですので、
    Bフレッツベーシックにしても解決が可能かどうかは微妙です。もしかすると
    サービスを縮退していく等の辛い選択も視野に入れなければなりません。
    ルータの管理画面で送受信パケット数が見られるのですが、そこから逆算すると
    どうも1日5GB~10GB、月間で150GB~300GBくらいの転送量があるような気が・・・(汗
     
    最後に疑っているのが (4)のルータ部分 です。私がいま使用しているのが
    BUFFALOのBBR-4HGというルータで、購入時は6,970円でしたが、いまは5千円台で
    売られている一般ユーザ向けのお買い得ブロードバンドルータです。ここが
    処理能力限界を超えてボトルネックになってしまっている可能性があります。
     
    転送量の問題もそうですが、単純に 「コネクション数」 を捌ききれるかどうか
    というのは実はかなり気にしているポイントです。というのも、
    コミックダッシュ!で提供している 「ブログパーツ」 という仕組みは、
    他の方のブログページに貼られることで、そのページが表示されるごとに
    別々の閲覧者から個別にリクエストが飛んでくる構造になるからです。
     
    つまり、ブログパーツの画像だけリクエストして帰る、というユーザが激増して
    いる状態で、しかもその多くが 304 Not Modified だけを返しているような
    イメージになりますので、データサイズが少ないわりにコネクションばかり多い、
    という感じになります。ルータのパケット処理は、中のプロセッサが頑張って
    ソフトウェア処理をしているはずですので、性能が追いついていない可能性もあります。
     
    とにかくまだ、どこが決定打になるのかを正しく見極めできていない状況ですが、
    症状の「酷さ」を数値で確認できたことと、サーバ側よりもネットワーク側を
    攻略したほうが良いことが判ったこと、この2つだけでも十分な収穫でした。
    早急にこれらの対処にあたりたいと思います。
    みなさまには負荷によるご迷惑をお掛けいたしまして大変申し訳ございません m(_ _)m
     
    コミックダッシュ! - 集めているコミックの新刊をオートマチェック!

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



    投稿者 CK : 記事URL | コミックダッシュ! | | 2007/10/03 23:59


    « Xacti HD1000 ズーム撮影サンプル - テレ端はかなりいける?

    トップに戻る

    あまとも通信 - 「スケッチブック」放映開始記念 »



    ▼ コメント ▼

    No.15339   投稿者 : のりたま   2007年10月 4日 22:20

    昨日登録させていただいたのりたまと申します。
    どうやらコネクション数がネックのような気がしますね。
    1秒間の最大新規コネクション数はいかほどでしょうか?
    また確認として、ピーク時にサーバ側からノードを一段ずつ増やして
    応答速度を量るのも良いかも知れないですね。

    あと、更新されるページのコンテンツ数を減らすのも手かもしれませんね。
    例えば、ランキング作品はすべて画像を連結し、一つの画像として出力させたり、誰かがgzipをオススメしたようですが、HTTP1.1はサーバで指定された時間までコネクションを保持するために、逆にHTTP1.0のみにさせるなど。

    もし管理人さんが専業の業者さんなら迷わず業務用のルータをActive・Activeな構成で冗長化させ、更にリバースプロキシをオススメしちゃいます(わらい
    超適当な概算でルータとリバースプロキシとL2スイッチで1Mと設定費で500k。毎年保守費で250kくらい。どうですか?お客さん。

    あまり信用せずにご参考までに。


    No.15340   投稿者 : きりけん   2007年10月 5日 03:50

    きりけんと申します。いつもROMっております。

    apacheでspareserverをどの程度に設定してるかにもよりますが、転送量などから
    http://www.mrl.co.jp/product/nwgopt100e.htm
    この辺りでも良いのではないですかね?
    サーバを公開するなら最低でも2万ぐらいは出した方が良いと思いますよ
    BBR-4HGは所詮安物ですから


    No.15365   投稿者 : aok   2007年10月 6日 12:44

    のりたまさんの言われるコネクション数の問題である可能性が高いですが。
    (データ量よりもコネクション数が多そうですし。)

    コネクション数の問題を見たいのであれば…
    運用中のシステムだから難しいとは思いますが、宅内のネットワーク速度を100M固定にしてみて、色々な場合の速度計測をしたらいかがでしょう?
    その上で区間ごとの評価をしたらいかがでしょう?
    ブロードバンドルータになにかしらの有効なカウンタがあればそれを参照するのも手ですね。


    個人的な見解ですが、何となくですが、B-Fletsの限界のような気がします。
    B-FletsであればPPPoEを使いますから、データ転送量もルータの処理的にもその分のオーバーヘッドがあるのかもしれませんね。


    No.15366   投稿者 : sato   2007年10月 6日 21:19

    トラフィックの話になってるようなので乱入さしてもらいます。

    B-フレッツの回線自体はよほど悪環境でない限り
    50Mbps程度は出ます。

    ckさんの環境でかなり疑えるのは③④の二段の可能性です。
    ASAHI-netは経験上 Uploadが10Mbpsで一時間程度連続通信すると1Mbps以下に規制してくるようなIPSです。

    ルーターにおいては一万以下のものは
    本体に書いてるコネクション数は当てにならず apache側で50前後まで行くと反応が極端に落ちます。
    Yamahaの法人向け製品やIPnuts等のPCルータをおすすめします。


    参考になればうれしいですが


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


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


    ▼ トラックバック ▼

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

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