DefaultConnectionLimit的最大值

时间:2011-06-23 08:18:46

标签: .net http

连接到Comcast 12Mbs连接的4核机器上ServicePointManagaer.DefaultConnectionLimita的最大建议值是多少?我希望答案不仅仅是说它取决于它! :)有任何实际限制吗?这个http://support.microsoft.com/kb/821268表示12 *核心数,但是想知道将此设置为更高的数字是否有任何复杂性?这样做有什么意义吗?

2 个答案:

答案 0 :(得分:3)

  

DefaultConnectionLimit属性的最佳值取决于应用程序工作负载和代理设置。仅连接到少数主机或通过代理连接时的一般建议是使用的值是本地计算机上CPU数量的12倍。因此,对于使用代理的4个CPU的计算机,建议值为48。

来源:http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx

使用代理时的12倍限制。我认为这真的取决于你如何使用连接。查询涉及~4Kb响应的Web服务的100个连接与下载千兆字节数据的100个连接大不相同。因此,根据您使用连接的方式,我会使用您的最佳判断并将其设置为合理的。

答案 1 :(得分:0)

根据我的经验,如果值太高,则性能会下降。不幸的是,变量太多,因此没有可以在所有情况下使用的值/公式。这里有一些变量:

  • 带宽
  • 处理器
  • 请求类型(大小,压缩,保持活力,......)
  • 端点(某些服务器不允许来自同一主机的任何数量的连接)

我的建议是使用不同的设置测试您的应用程序并查看结果。我发现设置每个端点的最大连接很有用,因此您没有单个配置,但每个端点都有一个配置。