性能实战分析-问题分析

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、慢查询(开启慢查询,查看慢查询日志)

 

以上是关于性能实战分析-问题分析的主要内容,如果未能解决你的问题,请参考以下文章

性能分析之两个性能瓶颈分析案例

性能分析之两个性能瓶颈分析案例

性能分析之两个性能瓶颈分析案例

性能实战分析-问题分析

性能测试——“问题分析”

Linux性能问题分析流程与性能优化思路