整体思路:从前到后,从表象到内部
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、对于不好定位的问题,可以考虑采用模块隔离法来确定问题
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。