解决windows服务器IIS托管c#的wcf接口突然变慢的问题
·
背景:今天访问后端svc接口的时候,非常慢,尝试把iis重启,服务器重启,停掉一些读取上传服务,还是出现卡顿,很慢响应的情况
排查过程:首先将服务器IP改了,改了后访问新ip的端口,发现恢复了正常,那就证明可能存在wcf线程池被堵塞了、或者处理不过来,然后接着再排查到了现场大屏不断的调用某个慢接口,导致线程池被堆满了tcp,再排查到对应的接口里存在循环sql处理计算,优化后好转。
在服务器cmd进入后输入以下指令,查询tcp请求占用情况
%windir%\system32\inetsrv\appcmd list requests

如上图可以看到,一个tcp请求占用了十多分钟甚至还没结束,导致前端长期调用,积累后出现慢和卡顿的情况,这也是我们常说的ddos攻击,只不过这种是自己造的一种,所以在前端调用的时候一定要加限制时间,或者在后端做一些处理,不然长连接长期占用会导致其他用户访问无法正常使用的情况
更多推荐

所有评论(0)