• 締切済み

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