« お勉強 | メイン | ルータ二台でマルチセッション »
2006年06月12日
■ASAHIネットのせいで
[]

ルータが一台お亡くなりになりました。

金曜日の夜のこと。
突然外部からの接続がすさまじく重くなったとの報告。
原因究明のために、イロイロ調べる。

調べていると、前科一犯の人から、うちのせいかも?みたいな話が。
少し前に、ApacheのCPU利用率が50%も喰らうという事件があった。
しかも、その状態になっていると、Apacheの再起動に数分かかる。
原因がよくわからなかったので、とりあえず、HTTPSの処理が重いのだろうか、と思い、HTTPSで通信していたサイトの一部をHTTPに変えた。
が、しばらくたつとまたCPU利用率が上昇する。
しかし、利用率が普通のときもある。
謎に思っていたところ、その人から連絡があり、ajaxとPHPでチャットを作ったとのこと。
処理に、スリープも入っていないwhile(タイムアウト)なものが入っており、それが原因。
それで前科一犯。
でまあ、その人が、今度はデータベースを利用したキャラクタ管理システムのようなものを作ったと。
で、それが、データベースの接続をアプリ全体で使い回さないで、ユーザの接続ごとにデータベースへの接続・切断をおこなうものらしい。
それが原因かどうかは、イロイロ調べてみた感じ、違うっぽかった。
ユーザの接続ごとにDBへのコネクションを生成するのは気になったが、とりあえずこの時点ではおいておくことに。

サーバに流れてきているパケットを見てみた感じ、たいした量ではない。
ローカルネットワークでの通信は概ね良好。
速度測定サイトで速度計測してみても、全然帯域に余裕がある。
外部からはHTTP、FTP、その他も重い。
ルータを再起動すると、はじめは速度が出るが、1分もたたないうちに速度が落ちる。
試しにサーバマシンにリブートをかけても変化なし。

ルータの限界なのかとも思ったが、それなら、速度測定で速度が出る理由がわからない。
ルータの外でトラフィックが増大しているとしても、それも同じく速度測定で速度が出るのかという話。
サーバマシンの負荷であるなら、ローカルネットワークで快適というのはあてはまらないはず。
実際、先ほどのチャットの問題の時は、ローカルネットワークでも死にそうになった。
ルータの限界であれば、ルータ再起動すればしばらくは復活するはずで、30秒たらずでまたいっぱいいっぱいになるということも考えにくい。

そこで、あることに気がついた。
HTTPで通信したときには、ローカルから外部への接続が快適なのだが、FTPだと死にそうに重い。

ぐるぐる頭を巡らせた結果、一つの可能性にたどり着いた。
アサヒネットが帯域制限かけやがったのかもしれないと。
そこで、ぐぐってみると、朝日はトラフィック量が多いと、帯域制限をしやがるということがわかった。
糞プロバ認定確定。
WinnyなんかのP2Pソフト使って帯域制限かけられるとかならわからんこともないが(それでもどうかと思うが)、通常のサーバ運営もままらないというのは全くもって理解不能。
死んでくれと。

おそらく、帯域制限をかけたということをわかりにくくするために、該当ホストがリクエスト元であるHTTP通信は除外するという小細工を仕込んでいるのだろう。
おかげで、こちら側からは通常のブラウジングではストレスを感じないし、速度測定サイトで測定しても、帯域に余裕があるように見える。
以前からたまに異常にサーバへの接続が重くなることが発生していた現象の謎が、これで全て氷解した。

過去のパターンからすると、一日だか二日だか放置すると、速度が戻った記憶がある。
で、実際に戻った。
自動でスクリプトでも走らせてるんだろう。
嫌がらせにもほどがある。

投稿者 邑波。 : 2006年06月12日 15:47

トラックバック

このエントリーのトラックバックURL:
http://union.waterblue.net/MT/mt-tb.cgi/285

* こちらの記事へのリンクの含まれないトラックバックは受け付けないようになっています。
コメント
コメントしてください




保存しますか?