【问题标题】:What to set ServicePointManager.DefaultConnectionLimit to将 ServicePointManager.DefaultConnectionLimit 设置为什么
【发布时间】:2011-08-11 06:01:03
【问题描述】:

ServicePointManager.DefaultConnectionLimit 设置 Worker Role 的最大并发会话数,但我如何才能在此处找到最佳值?

【问题讨论】:

    标签: azure


    【解决方案1】:

    根据Microsoft Support,12 * [逻辑 CPU 数量] 是一个不错的值。

    如果您使用的是 .Net 4.5,则默认 are already set 为更合理的值。

    【讨论】:

    • 我不确定最后一行是否正确 - 我检查了我的应用程序中的默认值,该应用程序是专门使用 .Net 4.5 构建的,它仍然默认为 2。其他人可能想要验证并更改答案(如果他们发现相同的情况,或者使评论更具体,因为它可能不仅仅是.Net 4.5 - MSDN 确实声明:“在服务器环境(ASP.NET)中使用时 DefaultConnectionLimit 默认为更高的数字连接数,即 10。”,msdn.microsoft.com/en-us/library/…)。
    • 我可以确认在我的 Web API Azure 网站 (.NET 4.5) DefaultConnectionLimit 设置为 2。链接的答案表明“合理的默认值”是由“经典”ASP.NET 设置的(System.Web) 而在其他托管环境中,例如我的 Web API,情况可能会有所不同。
    • 请注意,在 ASP.NET 4.5 中它现在是 int.MaxValue
    • @OhadSchneider,有没有这个的 msdn 链接?
    • @OhadSchneider:我猜这个值仍然是 2,当你自己托管应用程序时会发生这种情况。然而,在 Web 服务器上托管时,您可以从机器级配置中读取值,这使得每个逻辑 CPU 有 12 个连接。参考:对于 asp.net 应用程序,默认连接限制在 processModel/autoConfig 中的机器级别配置中管理:msdn.microsoft.com/en-us/subscriptions/administration/…。请注意,在下面的链接中,该值似乎是 2,这不是当前默认值 12。support.microsoft.com/en-au/kb/821268
    【解决方案2】:

    这是获得价值的最佳建议,请访问forums。另请阅读列出的知识库文章。

    关键是默认值 2 会让您陷入连接中断的问题。

    【讨论】:

      猜你喜欢
      • 2015-08-29
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多