WCF在服务器端调用有时很慢(Windbg帮助)

时间:2018-02-20 23:11:28

标签: performance wcf windbg

我在win 2008服务器(4核心)上使用部署在IIS 8中的WCF 4。  我的所有服务都使用 instancemode,concurrencymode 限制值的默认参数。

Multiples应用程序(70个客户端)每10秒调用一次操作(getStatusData),该操作应返回一小部分结果(1 kb)。  这是一个通过轮询来保持客户端更新的预定呼叫...

在服务器端的服务应用程序日志中,我可以看到有时服务器需要花费超过30秒的时间来回答(因为它在响应中间被阻止了......)

最近我对我的服务进行了loadbalanced并将Redis用作分布式缓存。  从那时起,我的所有客户端都报告了一个缓慢的行为,并且操作getStatusData现在正在服务器端完成超过3分钟,导致客户端异常超时。

我已经改变了应用程序行为,以便每2分钟调用一次这个操作,看起来我回到了原来的状态:操作有时需要30秒才能实现...

我想知道为什么我会观察到这种行为,以便每10秒钟再次轮询(2分钟数据太旧)并加快我的服务速度。

添加信息:

为了提供有关可能的瓶颈的更多信息,我在运行缓慢时运行了我的进程转储,这里有关于线程池信息的信息:

0:000> !threadpool
CPU utilization: 24%
Worker Thread: Total: 28 Running: 0 Idle: 28 MaxLimit: 8191 MinLimit: 8
Work Request in Queue: 0
--------------------------------------
Number of Timers: 2
--------------------------------------
Completion Port Thread:Total: 80 Free: 4 MaxFree: 16 CurrentLimit: 80 MaxLimit: 1000 MinLimit: 8

你对这里发生的事情有任何想法吗?

0 个答案:

没有答案