网页响应慢,waiting(TTFB)时间过长,接口返回耗时,数据库占用CPU 90%以上

记一次 网页响应慢,waiting(TTFB)时间过长,接口返回耗时,数据库占用CPU 90%以上问题排查前端

症状:H5页面打开白板,几十秒后出现页面,调试跟踪访问接口waiting(TTFB:全称 Time To First Byte,是指网络请求被发起到从服务器接收到第一个字节的这段时间,它包含了 TCP 链接时间、发送 HTTP 请求时间和得到响应消息第一个字节的时间)时间过长,查看服务器资源占用,SqlServer占用CPU90%以上sql

 

 

网上查询相关解决办法:1.网络缘由,使用CDN。2.网页去访问了其余插件/网络地址(百度翻译等)。3.数据库链接使用localhost(localhost要本地DNS解析,127.0.0.1无需解析,因此127.0.0.1会更快)数据库

都不是本次问题所在!服务器

过程:检查服务器SqlServer占用CPU90%以上,首先想到的是数据访问量大或者sql语句问题,但根据实际状况此缘由排除。怀疑接口代码问题,但只要请求到达接口,里面逻辑处理很快返回。IIS问题?换了两台服务器不一样IIS问题依旧。后来发现只要中止SqlServer服务或断开数据库链接速度恢复正常,那接口没问题,换数据库。从新配置数据库链接并设置应用程序池的队列长度为3000,最大工做进程数为2或者5网络

 

                

 

刚开始觉得解决了,不久新服务器CPU也被SqlServer占用90%以上,可是发现数据库链接时断时好(断的时候访问很快)且数据库链接报错:(超时时间已到,可是还没有从池中获取链接。出现这种状况多是由于全部池链接均在使用,而且达到了最大池大小。) (应该是设置了最大工做进程数致使),不是数据库自己问题。插件

再次诊断数据库链接查询,发现数据库短期访问量很大,怀疑数据库被攻击。又换数据库改默认端口,问题依旧。。。。。翻译

又回来,分析前端到接口时间为何要等待那么久,域名解析慢?改访问接口方式为IP地址(以前接口域名也在用),依然!3d

中止相关站点,前端,接口,后台,CPU恢复正常!恢复前端/接口(用IP访问接口,域名中止),响应正常!调试

接口域名问题?以前查看域名,服务器各类指标都正常,没从这方面去想。验证一下,把接口域名加上去,问题又出现,数据库占用升高。响应变慢!blog

OK,域名问题!换个新域名(加入阿里防火墙)一切运行正常!

那么...是域名解析问题,仍是域名被攻击呢。。。。。。。。。

相关文章
相关标签/搜索