アプリ版:「スタンプのみでお礼する」機能のリリースについて

PCが800台ほど接続しているLANにて、HTTPプロトコルを利用して作成した配信ソフトを利用しています。サーバはWindows2000SP4です。HTTPプロトコルを利用しているのは、IPアドレスでアクセスするので、ドメインなどの認証問題に邪魔されないためだと思います。(「思う」というのは、初期の仕様が不明のため)

ここで、サーバから大きな(30MB以上)程度のファイルを配信すると
数%のPCでファイルをダウンロード中に通信が切れてしまうのです。
これがあちこちのPCでランダムに発生しており、原因がつかめず
非常に困っています。
どのような切り口で調査していったらいいかご教授ください。

LANはL3スイッチが中心にあり、基幹が1Gの光、支線が100BASE-Tです。
PCはWindowsXP-SP1で通信はオートネゴシエーションを使用しています。HTTPがらみの設定はサーバ、PCとも特に変えてはいません。
よろしくお願いします。

A 回答 (4件)

WebサーバはIISですよね?


HTTPのコネクションが限界値を超えているのではないかと思います。
サーバのパフォーマンスモニタでコネクション数を監視してみてはどうでしょうか?

感覚的に、800台のクライアントに対してサーバ1台がHTTPを処理するのは、かなり無謀な構成と思います。
IISに限らずWebサーバが一度に処理できるHTTPコネクションはせいぜい100個ぐらいです。
ミラーサーバを用意するなど、何か負荷分散する仕組みを検討された方が良いかと思います。

この回答への補足

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

補足日時:2006/03/26 09:53
    • good
    • 0

私もトラフィックの集中が問題だと思います。


もし800台同時にアクセスがくるのなら、30MB×8×800=192Gbit
これでは単純にギガのトラフィックが出せたとしても200秒近くかかるわけで通信がタイムアウトしている可能性もあるでしょう。

配信の仕組みがわかりませんが、タイミングをずらして負荷を分散する工夫をしたらいかがでしょうか。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/26 17:44

サーバでのコネクション制限設定が「無制限」となっていても、サーバのリソース(メモリ等)には上限があるのですから、どこかに必ず限界があります。

ですので100個以上のコネクションがあると無理が生じて切れてしまうという認識で良いです。
配信するタイミングをずらすなど、負荷分散が必要でしょう。

この回答への補足

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

補足日時:2006/03/26 17:45
    • good
    • 0

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



むしろ無制限に接続できるから切れるんだと思います。
#3で書かれているとおり必ず限界があるので、普通は限界が近づいて不安定になる前に接続を制限します。

一度接続制限を設定してみたらどうでしょうか?
それで改善しないようだと負荷の問題じゃないので負荷分散しても解決しませんし…

ちなみにクライアント側では接続制限に引っかかると503エラーが帰ってくるので
しばらく待って再度受信する必要があります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/28 23:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!