一个项目有三套系统,都是mvc4+api+mysql(mongo、redis公司设计问题,其实简单的项目可以不用的)放在3台服务器上server 2012,跑了很久了突然有一天A服务器mvc站点打不开了,隔了5-6分钟,甚至更长才显示出来,登录之后查询也是超级慢(sql语句拿到navcate上查是正常的),cpu、内存都是稳定的,占比不高。无奈在B服务器上再部署一个mvc站点,连上第一台服务器的api和数据库(redis、mongo),速度正常了。但是悲剧,又过了几天B服务器上2个mvc的站点都不行了,甚至把B服务器上属于A系统的mvc站点删了也没用。
服务器不给重启的。
想问大神们,有谁遇到过或者有什么建议来排查问题。
服务器上查询慢,同时在navcate上查询快?有日志吗?
登录页面就很慢,不是第一次慢,每次都慢,还没查询数据库。数据库没问题的,api一直在工作,上游系统一直在调接口,没有异常。
@nbu_djw: 莫非感染病毒了,有安全软件吗?
@仰望星空66: 客户云服务器上有杀毒软件的,我请他们杀毒看看,谢谢你的提示
重启IIS程序池,看看是否变快,如果变快,可以判断 是程序池回收问题,没有,排除这个问题
重启过的,只有服务器没重启,因为生产环境,api还在工作。
接口应该是正常的,上游一直在使用,他们3s就判定超时,但是ui这边调接口就特别慢。
根据你的描述,我感觉可能是http请求到了上限,新的请求需要排队很久才能得到响应,可以看下容器的连接数配置
1.先确认哪个应用慢,mvc还是webapi,慢的时候手动调用下webapi看是否正常
2.检查应用的中对db的连接是否及时释放;reids连接是否重复创建,
3.是否存在async await死锁问题。
4.mvc调webapi,是否使用的是 httpclient,使用方式是否正确.(不要每次new或者using())