WCF连接限制

WCF连接限制,wcf,Wcf,我们在高流量站点提供WCF net.tcp服务。 它在一段时间内运行良好,然后停止并返回超时错误。 当我重新启动IIS时,它会再次运行 为什么?? 连接是否有限制?NetTcp绑定的默认设置为10个连接。您可以在配置的部分增加该值。超时也是如此-默认值为1分钟,但您也可以调整关闭超时、打开超时、接收超时和发送超时 <system.serviceModel> <bindings> <netTcpBinding>

我们在高流量站点提供WCF net.tcp服务。

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

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

NetTcp绑定的默认设置为10个连接。您可以在配置的
部分增加该值。超时也是如此-默认值为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


有关更多详细信息,请参阅。

增加网络超时可以为处理请求争取时间。这可以帮助您在短时间内承受高流量,但不会改变系统吞吐量

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

下面是一些很好的配置示例。


如果您的硬件已达到最大值,但仍然超时,则可能是时候对服务进行群集并添加另一个节点了。

运行WCF跟踪可能会提供一些信息。错误为:“System.Net.Sockets.SocketException(0x80004005):由于线程退出或应用程序请求,I/O操作已中止”谢谢你的回答。我设置了10分钟的超时和1000个连接。我们每天约有7000名独立访客。