很长一段时间以来,我们一直在处理 WCF 的一个麻烦问题,并且已经到了我们迫切希望找到解决方案的地步。
我有一个经常被点击的 WCF 服务,有时大约 50 个请求/秒。平均执行时间为 10-20 秒,但可能长达 45 秒。
我们遇到的问题是随机的(启动后2个月都无法重新创建),在worker进程中查看IIS请求时,只会继续加起来不会完成,会无限加起来直到我们必须回收应用程序池为止。
我们已经对数据库以及使用 CPU 和内存分析器的代码进行了性能度量,并确认我们的代码中没有突出的瓶颈。
我将服务 throttlign 配置值设置为以下内容:
<serviceThrottling maxConcurrentInstances="800"
maxConcurrentCalls="800"
maxConcurrentSessions="800"/>
我现在启用 WCF 跟踪以查看是否出现任何问题,但这很难,因为我们无法重新创建。