整体思路:从前到后,从表象到内部

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、对于不好定位的问题,可以考虑采用模块隔离法来确定问题

 

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐