どのように多くの同時送信HttpWebRequestの呼び出しは、ASP.NET / IIS7で行うことができますか?

StackOverflow https://stackoverflow.com/questions/1474322

質問

私は、Windows Server 2008(IIS7)上で実行されるASP.NET Webアプリケーションを書いています。

各ページの分離コードは、HttpWebRequestのを使用して外部サーバに少なくとも1つの同期Webサービスの呼び出しを行うと、取得する必要があります。

私の質問 - 私が作ることができます呼び出しをHttpWebRequestのアウトバウンドの数に制限はありますか? (私が呼んでいるサーバは制限はありませんと仮定)。

アプリの規模をより良くするためにこれらの接続をプールする任意の手段はありますか? Webガーデンの設定に役立つだろう?

役に立ちましたか?

解決

デフォルトでは、HTTP / 1.1サーバは、2つの接続に制限され、およびHTTP / 1.0サーバは、4つの接続に制限されています。あなたが例えばのために、HTTP / 1.1サーバへの二つ以上の未処理の要求を発行しようとしているのであれば、あなたのASP.NEtアプリが深刻なスループットの問題が発生します。

あなたは、接続の制限を増やす必要がありますいずれかのグローバルサーバあたり、もしくはます。

などのために、グローバルます:

ServicePointManager.DefaultConnectionLimit = 10; // allow 10 outstanding connections

この情報がお役に立てば幸いです。

他のヒント

私はあなたの質問は、ネットワーク構成に向けれるべきだと思います。

私は、すべてのページが同期外部コールに依存している場合は、トラブルを求めていると思います。あなたは、外部のWebサービス(複数可)に掛けますリクエストのN数を取得する場合?次に、あなたの端にいくつかの問題を持って、あなたはそれについて何もできません。

あなたはコールバック付き非同期呼び出しを検討していますか?

EDIT:

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top