WCF连接限制

时间:2011-09-06 21:42:25

标签: wcf

我们在高流量网站上有一个WCF net.tcp服务。 http://www.artedelcorpo.com/

它在一段时间内运行良好,然后停止并返回超时错误。 当我重新启动IIS时,它会再次运行。

为什么呢? 连接是否有限制?

2 个答案:

答案 0 :(得分:10)

NetTcp Binding的默认设置为10个连接。您可以在配置的<binding>部分中增加此值。超时也是如此 - 默认值为1分钟,但您也可以调整关闭超时,打开超时,接收超时和发送超时。

<system.serviceModel>
    <bindings>
        <netTcpBinding>
            <binding name="MyNetTcpBinding" closeTimeout="00:05:00"
                     openTimeout="00:05:00" receiveTimeout="00:05:00"
                     sendTimeout="00:05:00" maxConnections="100" />
        <netTcpBinding>
    </bindings>
</system.serviceModel>

以上示例将超时设置为5分钟,最大连接数设置为100。

有关详情/信息,请参阅<netTcpBinding>

答案 1 :(得分:5)

增加网络超时会为您的处理时间腾出时间。这可以帮助您在短暂的高流量突发中幸存,但它不会改变您的系统吞吐量。

如果出现这些问题时硬件在内存和CPU方面仍有一些空间,则应考虑更改并发性限制。这将允许并行处理更多请求。 default throttle values in .NET 3.5实际上相当保守,这可能是一个快速修复(取决于您的服务架构)。

以下是配置WCF service throttles的一些好的示例。

如果您的硬件已超出并且您仍在获得超时,则可能需要时间来集群服务并添加另一个节点。