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

Posted liushuixiying

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网页响应慢,waiting(TTFB)时间过长,接口返回耗时,数据库占用CPU 90%以上相关的知识,希望对你有一定的参考价值。

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

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

技术图片

技术图片

 

过程:检查服务器SqlServer占用90%以上,首先想到的是数据访问量大或者读写量大,但根据实际情况此原因排除。怀疑接口代码问题,但只要请求到达接口,里面逻辑处理很快返回。IIS问题?换了两台服务器的IIS问题依旧。后来发现只要停止SqlServer服务或断开数据库连接速度恢复正常,那接口没问题,换数据库。重新配置数据库连接并设置应用程序池的队列长度为3000,最大工作进程数为2或者5

技术图片                技术图片

刚开始以为解决了,新服务器CPU也被SqlServer占用90%以上,但是发现数据库连接时断时好(断的时候访问很快)且数据库连接报错:超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。 (应该是设置了最大工作进程数导致),不是数据库本身问题。

又从数据库下手,发现数据库短时间访问量很大,怀疑数据库被攻击。又换数据库改默认端口,问题依旧。。。。。

回来,分析前端到接口时间为什么要等待那么久,域名解析慢?改接口连接为IP地址(之前接口域名也在用),依然!

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

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

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

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

 

以上是关于网页响应慢,waiting(TTFB)时间过长,接口返回耗时,数据库占用CPU 90%以上的主要内容,如果未能解决你的问题,请参考以下文章

优化TTFB 至500ms内

什么是前端开发领域中的 time to first byte 指标

接口速度慢问题查找(TTFB时间长)

javplayer显示未响应

无法访问此网站221.8.67.178 的响应时间过长怎么打不开

为啥老是会出现由于 cpro.baidu.com 响应时间过长,导致“360安全浏览器”无法加载网页。