• 締切済み

httpの通信が切れる

PCが800台ほど接続しているLANにて、HTTPプロトコルを利用して作成した配信ソフトを利用しています。サーバはWindows2000SP4です。HTTPプロトコルを利用しているのは、IPアドレスでアクセスするので、ドメインなどの認証問題に邪魔されないためだと思います。(「思う」というのは、初期の仕様が不明のため) ここで、サーバから大きな(30MB以上)程度のファイルを配信すると 数%のPCでファイルをダウンロード中に通信が切れてしまうのです。 これがあちこちのPCでランダムに発生しており、原因がつかめず 非常に困っています。 どのような切り口で調査していったらいいかご教授ください。 LANはL3スイッチが中心にあり、基幹が1Gの光、支線が100BASE-Tです。 PCはWindowsXP-SP1で通信はオートネゴシエーションを使用しています。HTTPがらみの設定はサーバ、PCとも特に変えてはいません。 よろしくお願いします。

みんなの回答

  • asdf24
  • ベストアンサー率54% (27/50)
回答No.4

>サーバでのコネクションの制限設定は確か「無制限」となっていたと思うのですが、それでも100個以上のコネクションがあると無理が生じて切れてしまうという認識でよろしいでしょうか? むしろ無制限に接続できるから切れるんだと思います。 #3で書かれているとおり必ず限界があるので、普通は限界が近づいて不安定になる前に接続を制限します。 一度接続制限を設定してみたらどうでしょうか? それで改善しないようだと負荷の問題じゃないので負荷分散しても解決しませんし… ちなみにクライアント側では接続制限に引っかかると503エラーが帰ってくるので しばらく待って再度受信する必要があります。

iwa111
質問者

お礼

ご回答ありがとうございます。 そうですね。制限をつけるという考えもあるのですね。 参考になりました。検討してみます。

  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.3

サーバでのコネクション制限設定が「無制限」となっていても、サーバのリソース(メモリ等)には上限があるのですから、どこかに必ず限界があります。ですので100個以上のコネクションがあると無理が生じて切れてしまうという認識で良いです。 配信するタイミングをずらすなど、負荷分散が必要でしょう。

iwa111
質問者

補足

ご回答どうもありがとうございます。 負荷分散を検討したいと思います。

noname#17587
noname#17587
回答No.2

私もトラフィックの集中が問題だと思います。 もし800台同時にアクセスがくるのなら、30MB×8×800=192Gbit これでは単純にギガのトラフィックが出せたとしても200秒近くかかるわけで通信がタイムアウトしている可能性もあるでしょう。 配信の仕組みがわかりませんが、タイミングをずらして負荷を分散する工夫をしたらいかがでしょうか。

iwa111
質問者

お礼

ご回答どうもありがとうございます。 実際に同時に800台のアクセスがあるわけではありません。 しかし、やはり負荷がかかることが予想されることから 負荷分散の仕組みを考えて見ます。

  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.1

WebサーバはIISですよね? HTTPのコネクションが限界値を超えているのではないかと思います。 サーバのパフォーマンスモニタでコネクション数を監視してみてはどうでしょうか? 感覚的に、800台のクライアントに対してサーバ1台がHTTPを処理するのは、かなり無謀な構成と思います。 IISに限らずWebサーバが一度に処理できるHTTPコネクションはせいぜい100個ぐらいです。 ミラーサーバを用意するなど、何か負荷分散する仕組みを検討された方が良いかと思います。

iwa111
質問者

補足

ご回答ありがとうございます。 WebサーバはIISです。 サーバでのコネクションの制限設定は確か「無制限」となっていたと思うのですが、それでも100個以上のコネクションがあると無理が生じて切れてしまうという認識でよろしいでしょうか?

関連するQ&A

  • プライベートIPからのHTTP通信のしくみ

    プライベートIPを持つPCからHTTPでホームページを見る場合の仕組みについて質問です。 家では一般的な無線LANを使用してインターネットに接続しているため、IPアドレスはプライベートIPアドレス(192.168.xxx.xxx)となっています。 この場合、プライベートIPのPCがグローバルIPを持つ外部サーバにアクセスする場合には、ブロードバンドルータを通過するので、外部サーバはリクエスト元のブロードバンドルータのIPアドレスはわかっても、その先にあるプライベートIPは知らないと理解しています。 そのため、外部サーバはレスポンスをブロードバンドルータのIPアドレスに返却すると考えているのですが、そのレスポンスはどのようにしてグロードバンドルータからリクエスト元のプライベートIPアドレスのPCを判別するのでしょうか? 通信の仕組みを解説しているサイトには、ローカルLANではIPマスカレードなどによって、ポート番号で特定のPCに通信を振り分けることで、ひとつのグローバルIPアドレスに複数のプライベートIPのPCによる通信を実現しているとありますが、自宅のルータの設定をみてもIPマスカレードは設定されていないように見えます。。。 (HTTPは代表的なプロトコルなので、暗黙的にデフォルトで設定されている?) 初歩的な質問ですが、回答や参考になるサイトがあれば教えていただきたいと思います。 よろしくお願いいたします。 OS:Ubuntu 11.10 ブロードバンドルータ:WZR-HP-AG300H

  • Ajaxの通信を記録するアプリケーションは?

    Ajaxを利用したサイトを訪れたときは、XmlHttpRequestオブジェクトをjava scriptプログラムが実行して、Httpプロトコルでサーバーに接続、サーバーからデータをダウンロードすると思います。 今使用しているパソコンはwindows7で、[関連付けを設定する]の項目を見ると、java scriptファイルを実行するプログラムは、Microsoft (R) Windows Based Script Host となっています。 Httpプロトコルでサーバーに接続してデータをダウンロードという一連の通信を担当するアプリケーション(A) と ファイアウォールソフトでその一連の通信を記録するとき、どのアプリケーションの通信として記録されるのか、その該当アプリケーション(B) について教えてください。 1 (A)IEなどのブラウザ (B)IEなどのブラウザ 2 (A)IEなどのブラウザ (B)Microsoft (R) Windows Based Script Host 3 (A)Microsoft (R) Windows Based Script Host (B)IEなどのブラウザ 4 (A)Microsoft (R) Windows Based Script Host (B)Microsoft (R) Windows Based Script Host 1,2,3,4の内、どれが正しいでしょうか?

    • ベストアンサー
    • AJAX
  • YAMAHA RT58iで、このルータのLANにつながるクライアントPCにHTTPなどの通信をさせるには?

    現在RT58iのLAN側にあるサーバPCを公開させたり、いろいろと設定に苦闘しながら何とかやっています。 LAN内のサーバPCをnat masqarade機能で何とか公開にこぎ着けました。それはいいのですが、この設定を追加したとたん、今まで、RT58iルータのLAN側でSKYPEとかホームページとか普通に通信できていたPCが全くできなくなりました。WAN側からの通信は通して問題がないのですが、ローカルIPを持つPC(サーバPCも含む)が発信したHTTP宛への通信が全く確率できません。 下に現在のRT58iの設定を掲載したURLを書かせていただきます。 http://d.hatena.ne.jp/blackzoro/20081223 クライアントPCのインターネット通信もできるようにするにはどうしたらよいのかわかる方いらっしゃいましたらご教授よろしくお願いします。

  • GetASFSteramでストリーミング番組を保存できない

    実は今「GetASFSteram」(GAS)というフリーソフトを使って、ストリーミング配信の番組を保存しようとしているのですが、 <<<<<<<<<< 開始:[○○/○/○ ○○:○:○] >>>>>>>>>> HTTPプロトコルを使用します。 DL URL=○ttp://www.○○○・・・・・・・・・・・・.asx [0] サーバに接続できないため、MMSTプロトコルに移行します。 [0] サーバに接続できないため、RTSP(MS)プロトコルに移行します。 [0] サーバに接続できないため、MMSHプロトコルに移行します。 [0] サーバに接続できないため、MMSTプロトコルに移行します。 [0] サーバに接続できないため、RTSP(MS)プロトコルに移行します。 [0] サーバに接続できないため、MMSHプロトコルに移行します。 [0] サーバに接続できないため、MMSTプロトコルに移行します。 [0] サーバに接続できないため、RTSP(MS)プロトコルに移行します。 [0] サーバに接続できないため、MMSHプロトコルに移行します。 [0] サーバに接続できないため、MMSTプロトコルに移行します。 通信リトライオーバーです。[256]。 トータル記録時間=[○○:○:○] ---------- 終了:[○○/○/○ ○○:○:○] ---------- と表示されてしまいます。いろいろなサイトを参考にして、設定等を変更しても、全く解決できません。PCに関してはほとんど初心者です。何かいい方法はないでしょうか。 GASはVer 2.2.0.5 PCはWindows XP です。

  • 異なるネットワーク間の通信

    異なるネットワーク間の通信 ADSLが一回線入っているのですが、 192.168.1.*** LAN1 192.168.100.*** LAN2 のネットワークを接続したいです。 やりたいことは: 1)LAN1のPC, サーバは、インターネットにアクセスでき、インターネットからLAN1のサーバにアクセスできる。 2)LAN2のサーバに、LAN1のPCからアクセスできる。 家庭用のブロードバンドルータで、このようなことはできますか。 何かの方法がありましたら、教えていただきませんか。  

    • ベストアンサー
    • ADSL
  • ルーターによるPC間通信

    こんにちは、質問ですが。 現在、1階にある無線LANにて、2階の2台のPCをインターネットにつないでおります、最近PCの1台をファイルの保存用(ファイルサーバーみたいなもの)として使用しているのですが、無線のリンク速度が低く、転送に時間がかかっています。 なので、1台目のPCと2台目のPCを有線LANでつなごうと考えたのですが、できるかどうかが不明なので、わかる方にお聞きしたいのですが、 (1)・1台目と2台目は無線にて1階のモデム&無線ルーターに接続。 (2)・(1)の、インターネット接続を保ったまま、PCの背面の有線LANを利用して別ルーターを購入し、2台間でファイルの送受信のやりとり、通信が出来るか。 よろしくお願いします。

  • ウィルスバスター2008で自宅サーバーを見るためには

    こんにちは,ウィルス対策ソフトの更新で自宅サーバーが見えなくなって困っています。 OSはWindowsXP SP2,ウィルス対策ソフトはウィルスバスター2008,サーバー化ソフトはAN HTTPDです。以前はWindows2000 SP4,ウィルス対策ソフトはウィルスバスター2005,サーバー化ソフトはAN HTTPDでした。 続いてウィルスバスターのパーソナルファイアーウォールのプロファイルの設定は下記の通りです。「家庭内ネットワーク2」を利用,例外ルール(プログラム)にて「AN HTTPD」を追加(TCPプロトコルの送受信を許可),さらに例外ルール(プロトコル)にて「Webサービス(HTTP)」(TCPプロトコルを80,8080ポートにおいて送信を許可)にチェックを入れました。 続いて動作確認の状況です。サーバー上のIE6から「localhost」も「127.0.0.1」も404となっています。もちろん,LAN上のPCからも見えません。 諸事情によりシステム全体を大きく変えることになりましたが,どれも使い慣れたソフトであり,できればウィルスバスターのプロファイルを変更する程度でLAN上からWebサービスを利用できるようにしたいと考えています。どうか助言のほどよろしくお願いいたします。

  • ワークグループ内へファイルサーバ追加について

    前任者が退職し私が担当する事になりトホホ・・・・です。 今回社内にファイルサーバ(WindowsServer2008)をワークグループ内に導入するのですが、 下記のような事は利用可能でしょうか?   Q1・ドメイン環境のPCからファイルサーバ(WindowsServer2008)へアクセス(利用)が可能か?   Q2・今回導入するファイルサーバ(WindowsServer2008)をウィルスサーバとし、     ワークグループ環境及びドメイン環境のPCへパターンの配信は可能ですか? 【現状の環境】   ・ワークグループ環境(個人PC20台) ・ドメイン環境(基幹用PC30台) ・ネットワークアドレスは同一です。(192.168.0.XX)(物理的接続も同一です。)

  • ストリーミング通信を行うときのデバイスの追加について

    ストリーミング通信について質問させてください。 WindowsXPの端末でニュースの動画を見たいのですが mmsやrtspのプロトコルを使ったものに対して 見ることができないでいます。 WindowsMediaやRealplayerを使っているのですが 「オプション」にて ストリーミングの際のプロキシサーバを設定を HTTP通信で使っているプロキシサーバに設定したのですが、 接続に失敗して終わってしまいます。 ストリーミング通信する際に 他に設定する必要があるのでしょうか? 一つ気になった点があるのですが Windowsmediaの「オプション」>「デバイス」 の欄を選択すると、 CD-ROMとスピーカーしかデフォルトでありません。 その他に、 ビデオカードやキャプチャーなど 特別なものが必要なのでしょうか? 以上、大変お手数ですが、 宜しくお願い致します。

  • プロセス間通信について

    VisualBasic2005にてプログラムを作ったのですが、作ったあとに別のPCにインストールして実行してみると動作しないことに気づきました。 プログラムの内容は、Aというプログラムに引数をつけて実行すると常駐プログラムBに引数の値を渡すというシンプルなものです。AとBは同じクライアントPCにて実行します。 「VB2005逆引き大全500の極意」という書籍のプロセス間通信という産プルを参考に作ったのですが、どうもHTTPでデータを渡しているらしくWEBサーバが動作していないと動作しないんです。 私のPCはPHPなども使う為Apacheが動作中です。 通常のクライアントにHTTPでの通信を受信する方法はないのでしょうか?(ApacheなどのWEBサーバをインストールしないで) クライアントPCには.net Framework2.0がインストール済みです。 OSはWindowsXP(Home,Pro双方) どなたか分かる方、ご教授お願いします。