2010-12-21 23 views
1

私は、いくつかのソーシャルネットワークサーバーに接続し、ステータス更新などのデータを送信しているサーバー製品を作成しました。このソリューションを使用しているユーザーが必要なソーシャルネットワークサーバーにサーバーを既に認証しました。HttpWebRequestの接続制限とRestFULサーバー

実際、私は現時点では問題ありませんが、私はそうすると思います。

私のサーバーは、C#HttpWebRequestインスタンスでHttpを介して必要なサーバーに何千もの同時要求をオープンします。私はすでに知っていることは、それ以下のプロパティで同時にリクエストの制限を変更することが可能だということです。

ServicePointManager.DefaultConnectionLimit

私の知る限り、この制限は、あなたがそう以上100

を設定し、最大100 evetで、私ものDefaultConnectionLimitプロパティを変更HttpWebRequestのとボトルネックの問題に直面することになりますServicePointManager。

私はあなたにこれについて何を考えているか知っていますか? ご意見はありますか?

+0

本当に、絶対に、これらの接続をすべて同時に必要としていますか?そうしても、回答を適切に同時に処理できるでしょうか? –

+0

どのように接続を使用していますか?同期/非同期 – RubbleFord

+0

@RubbleFord私はAsyncを使用しています – fyasar

答えて

2

これは良い考えであるかどうかを無視して、リクエストごとに一意のConnectionGroupNameを使用してみましたか? Guid.NewGuid()。ToString()?接続制限は接続グループごとに行われるため、グローバルな制限がある場合を除き、この設定が役立ちます。後続の要求にグループ名を再使用する場合を除き、KeepAliveを無効にする必要があります。 HttpWebRequest How to handle (premature) closure of underlying TCP connection?への私の答えを見てください。

+0

いいですね、あなたのアイデアにストレステストを適用したことがありますか? – fyasar

+0

私は多数の接続でそれを試していませんが、接続の制限を小規模に上書きします。これはMSDNで言及されており、私もそれを試してみました。 MSDN: "各接続グループはサーバーの追加接続を作成します。その結果、そのサーバーのServicePoint.ConnectionLimitプロパティで設定された接続数を超える可能性があります。 –

+0

これはSystem.Net.HttpClientでも使用される戦略です。私のような誰のためにも、今このスレッドには誰が来ますか。 – georgiosd

関連する問題