HttpWebRequest的连接限制和RESTful服务器

问题描述:

我创建了被连接到某个社交网络服务器发送到状态更新等数据的服务器产品已经通过谁在使用这个解决方案的用户身份验证,以必要的社交网络服务器的服务器。HttpWebRequest的连接限制和RESTful服务器

其实,我在这个时候没有问题,但我想我会的。

我的服务器将开放通过HTTP使用C#HttpWebRequest的实例的数千neccessary服务器的并发请求。我已经知道可以用下面的propery来改变并发请求限制。

ServicePointManager.DefaultConnectionLimit

AFAIK,这个限制是最大100 EVET设置超过100

所以,我将要面临的瓶颈问题的HttpWebRequest甚至改变的DefaultConnectionLimit财产ServicePointManager。

我想知道你们你在想什么。 你有什么建议吗?

+0

你真的绝对需要同时连接所有这些连接吗?即使你这样做,你是否能够同时充分处理这些回应? – 2010-12-21 11:32:52

+0

你如何使用连接?同步/异步 – RubbleFord 2011-01-04 06:37:56

+0

@RubbleFord我正在使用异步 – fyasar 2011-01-04 11:34:32

忽略这一点是否是一个好主意,你有没有尝试过使用独特的ConnectionGroupName为每个请求,例如Guid.NewGuid()。toString()方法?连接限制是每个连接组,所以这可能会有所帮助,除非有一些全局限制。您应该禁用KeepAlive,除非您将为后续请求重用组名。看到我的回答HttpWebRequest How to handle (premature) closure of underlying TCP connection?

+0

听起来不错,你有没有应用过压力测试你的想法? – fyasar 2010-12-22 11:50:48

+0

我没有尝试过大量的连接,但它确实覆盖了小规模的连接限制。这是在MSDN中提到的,我也尝试过它。 MSDN:“每个连接组都会为服务器创建其他连接,这可能会导致超过该服务器的ServicePoint.ConnectionLimit属性设置的连接数。” – 2010-12-22 14:00:21

+0

这也是System.Net.HttpClient使用的策略。只为像我这样的人,现在就来这个线索。 – georgiosd 2012-05-02 11:52:06