如何增加最大连接数WCF NET TCP

时间:2019-05-11 21:45:15

标签: c# wcf

我正在设置WCF NET TCP服务器。到目前为止,我的连接很少,一切都很好。 但是,由于我决定进行一些压力测试,因此发现了一些问题。 在客户端启动线程的情况下,我获得了128个成功的连接,但是在第129个连接中,我得到了:

  

服务器太忙异常。

在绑定处,我已经将maxConnections更改为1000。我已经在serviceThrottling上将maxConcurrentCalls,maxConcurrentSessions,maxConcurrentInstances更改为5000(仅测试)。

我的绑定:

<binding name="netTcpClientsBindingConfig" transferMode="Buffered" maxReceivedMessageSize="50242880"
    closeTimeout="00:05:00" openTimeout="00:05:00" receiveTimeout="00:05:00"
    sendTimeout="00:05:00" maxConnections="1000">

我的行为配置:

<behavior name="mexClientsBehavior">
    <serviceThrottling
        maxConcurrentCalls     = "5000"
        maxConcurrentSessions  = "5000"
        maxConcurrentInstances = "5000"
    />

我希望至少接受1000个连接。

这里有一个限制(我相信是这样!如果还有其他解决方案,请任何人纠正我):

我需要保持连接已打开,因为我的服务器可能通过回调与客户端联系,以发送客户端应尽快了解的信息。如果连接已关闭,则无法在服务器端重新打开,或者可以吗?那将是一个解决方案。

1 个答案:

答案 0 :(得分:0)

我的问题是:我正在使用app.config创建WCF TCP服务。

我已经重新创建了所有内容,但是是以编程方式创建的! 现在,我的软件具有最大连接数和所有节流所需的配置。 另外,现在我可以动态创建端点了!这是一种在多台计算机上部署服务(基于Windows服务)以实现负载平衡的方法。

我正在使用VS 2017 15.9.11 希望其他任何通过这个问题之王的人都能得到这个答案。