gpt4 book ai didi

.net - WCF 服务限制

转载 作者:行者123 更新时间:2023-12-03 13:20:36 25 4
gpt4 key购买 nike

我在启用了 BasicHTTPBinding 和 SSL 的控制台应用程序中部署了 WCF 服务。还设置了以下属性:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]

我还将 throttle 行为设置为
<serviceThrottling maxConcurrentCalls="2147483647" maxConcurrentSessions="2147483647"
maxConcurrentInstances="2147483647" />

另一方面,我创建了一个测试客户端(用于负载测试),它同时启动多个客户端(多个线程)并在服务器上执行事务。一切似乎都很好,但在服务器上 CPU 利用率并没有增加,所以我添加了一些日志记录来查看对服务器的并发调用数,发现它从未超过 6。

我已经检查了性能计数器日志记录代码两次以上,这对我来说似乎很好。

所以我想问一下这种情况下问题出在哪里?我还没有指定任何类型的 ContextMode 或 ConcurrencyMode。

在这篇文章之后,我注意到每当我启动另一个测试客户端实例时,我的并发服务器调用计数器会增加到 2,例如如果我只运行 1 个实例,则最大并发 Rcvd 调用将为 2,如果有两个实例,则相同的值变为 4等等。一次进程的 WCF 调用数是否有限制?

********于 3 月 17 日添加********

今天,我在运行服务器的同一台机器上用一个测试客户端(有 50 个并发用户)运行了另一项测试。这次我得到了我希望它显示的确切结果(即服务器的最大并发调用 Rcvd = 50)。

但我也需要在其他机器上做同样的事情。有人可以帮我吗?

最佳答案

或者在客户端使用这个配置。

<system.net>
<connectionManagement>
<add maxconnection = "200" address ="*" />
</connectionManagement>
</system.net>

这里 200 是来自客户端的限制

关于.net - WCF 服务限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2454362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com