性能瓶颈定位思路
性能瓶颈定位思路
整体思路:从前到后,从表象到内部
1.首先排查压力机自身的问题,如CPU、内存、网络、脚本
2.监控中间件的访问日志,观察相应时间耗时,出现在哪一个环节。Tomcat、nginx、apache、mysql
3.排查网络问题,监控压力机到后端服务器的网络是否出现瓶颈
4.监控服务端的所有机器(Tomcat、nginx、apache、mysql)的操作负载,CPU、内存、网络、磁盘是否达到瓶颈
5.监控应用服务器日志,查看是否存在ERROR、timeout、等报错
6.监控中间件连接数是否达到上线,比如tomcat、nginx、mysql连接数是否达到上线
7.监控应用程序的线程状态,使用jstack、jvisualvm查看是否有死锁、阻塞等情况
8.监控应用程序的jvm,使用jstat、jamp查看gc情况,是否存在内存泄漏
9.监控耗时比较长的代码方法,使用jprofiler监控应用程序
10.监控数据库,是否存在慢查询,一般数据库CPU高都是因为sql语句效率低
11.监控数据库的执行计划,是否有全表扫描,预计索引不生效的情况
12.检查系统外部依情况,如果外部依赖系统性能差,也会造成本系统性能低
13.对于不好定位的问题,可以考虑采用模块隔离法来确定问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)