性能实战分析-问题分析
Posted wuzm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能实战分析-问题分析相关的知识,希望对你有一定的参考价值。
问题一:
刚进入到首页,或者刷新一下,就一直爱的魔力转圈圈。
排查法:
(一)、请求未发送到服务器
1、负载机问题(cpu、磁盘、内存)
2、网络问题
(二)、请求发送到服务器,可能是服务器处理或者返回过程出现问题
1、应用服务器cpu、磁盘、内存、网络
2、数据库服务器cpu、磁盘、内存、网络
3、数据库连接池排队
4、应用程序代码问题
5、sql语句执行慢,效率低
6、JVM堆栈溢出,频繁gc
7、中间件的线程池排队
排查过程:
(一)负载机问题最好排查,访问以下tomcat的初始页面就行,下图可以访问,从这张图片,可以侧面论证,我们的负载机是没有问题的,最起码可以访问服务器,网络、服务器的tcpip连接(服务器响应了)没有问题,同时也说明 web 容器的连接池并没有满,因为可以访问我们的 81 端口,那么尝试从其他方面去考虑,看看 jvm 和线程栈。
单个排查,如何排查??
1、负载机:随便访问一个页面,比如百度:请求可以访问,证明负载机发送请求是没有问题的。
2、负载机ping服务器可以ping通,查看网络也是没有问题的。
3、服务器的tcp,ip连接:netstat。
4、web容器排队:监控tomcat的连接池是否有空闲线程。server status
(二)请求发送到服务器,可能是服务器处理或者返回过程出现问题
1、cpu:top,负载没有问题,cpu使用率没有问题。
2、线程死锁:jstack pid >1.log
3、gc(oom):jstat -gcutil pid 1000
4、代码
5、查看文件句柄 lsof uminit -n 最大文件句柄。
5、数据库连接池:show processlist 和数据连接池的配置文件,查看是否到达最大连接。
6、数据库死锁:
7、慢查询(开启慢查询,查看慢查询日志)
以上是关于性能实战分析-问题分析的主要内容,如果未能解决你的问题,请参考以下文章