造成后端响应时间高的原因
作者:互联网
现象描述:
不管是性能测试中,还是生产环境中,经常会遇到响应时间过长的问题。 响应时间是性能评估的一个重要指标,会对最终用户产生直接影响,一个产品是快是慢,响应时间是最直观的感受。 因此面对响应时间长的问题,一定想尽办法消灭它。
排查思路及说明
常见有两种表现:偶现极少量的请求出现响应时间偏长,或者会有大量、批量的请求响应时间长。
对偶然出现的少量响应时间长的问题,可能是外部影响、网络异常等造成。
偶然出现少量响应时间过长时,可以排查以下几个方面来定位问题,
查看当时服务器日志是否有错误;
检查服务器资源使用情况是否正常,load average、CPU使用率(尤其是单核CPU)是否有飙高现象;
检查是否出现磁盘短暂负载较高,比如iostat util%飙高等;
确认当时网络情况是否正常,是否有网络丢包(如ping www.baidu.com -t 若有请求超时显示说明有网络丢包)等现象。 以上排查建议在有全面监控的基础上进行,偶现问题比较难定位,有全面的监控数据进行排查就方便多了。
如果出现比较多的响应时间过长,首先要排查所有服务器是否存在资源使用瓶颈,
如CPU使用率高、单核CPU使用率高、内存使用是否正常、是否有频繁FullGC、磁盘IO压力情况、网路时延情况等。 如果不能通过以上检查发现问题所在,那就要逐步分析是系统架构中哪个环节导致的问题。
模块内部原因造成的响应时间高
比如:qps过大,下游模块的响应时间高,缓存读写异常,代码问题(可以分析系统架构哪一环节响应时间高,具体分析代码问题)等。 如笔者曾经遇到过因为日志打印太多导致响应时间高的情况
标签:排查,是否,响应,造成,时间,使用率,CPU,原因 来源: https://www.cnblogs.com/wang-wmy/p/14356027.html