Mub*_*har 18 .net wcf throttling
我在控制台应用程序中部署了WCF服务,并启用了BasicHTTPBinding和SSL.还设置了以下属性:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
我还设置了限制行为
<serviceThrottling maxConcurrentCalls="2147483647" maxConcurrentSessions="2147483647"
        maxConcurrentInstances="2147483647" />
另一方面,我创建了一个测试客户端(用于负载测试),它同时启动多个客户端(多个线程)并在服务器上执行事务.一切似乎都很好,但在服务器上CPU利用率没有增加所以我添加了一些日志记录来查看服务器的并发调用数,发现它从未超过6.
我已经查看了两次以上的性能计数器记录代码,对我来说似乎很好.
所以我想问一下这种情况下的问题在哪里?我还没有指定任何种类的ContextMode或ConcurrencyMode.
这个帖子之后,我注意到,每当我开始测试客户端的另一个Intance我的并发服务器调用计数器增加至2一样,如果我运行仅1个实例的最大并发RCVD呼叫将被2,如果有两个实例相同的值变为4等等.一次处理的WCF呼叫数量是否有限制?
********3月17日添加********
今天我在运行服务器的同一台机器上运行了一个测试客户端(有50个并发用户)的另一个测试.这次我得到了我想要显示的确切结果(即服务器的最大并发呼叫数Rcvd = 50).
但我需要在其他机器上也这样做.有人可以帮我这个吗?
小智 22
或者在客户端中使用此配置.
<system.net>
    <connectionManagement>
      <add maxconnection = "200" address ="*" />
    </connectionManagement>
  </system.net>
这里200是客户端的限制
Mub*_*har 18
我找到了一个解决方案:ServicePointManager上存在导致此问题的连接限制.要删除此限制,您只需要设置
System.Net.ServicePointManager.DefaultConnectionLimit = X;
默认限制为2.
| 归档时间: | 
 | 
| 查看次数: | 19552 次 | 
| 最近记录: |