我正在设置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个连接。
这里有一个限制(我相信是这样!如果还有其他解决方案,请任何人纠正我):
我需要保持连接已打开,因为我的服务器可能通过回调与客户端联系,以发送客户端应尽快了解的信息。如果连接已关闭,则无法在服务器端重新打开,或者可以吗?那将是一个解决方案。
答案 0 :(得分:0)
我的问题是:我正在使用app.config创建WCF TCP服务。
我已经重新创建了所有内容,但是是以编程方式创建的! 现在,我的软件具有最大连接数和所有节流所需的配置。 另外,现在我可以动态创建端点了!这是一种在多台计算机上部署服务(基于Windows服务)以实现负载平衡的方法。
我正在使用VS 2017 15.9.11 希望其他任何通过这个问题之王的人都能得到这个答案。