目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
1、环境配置
1)创建jmter脚本
Ip:10.196.130.103
Port:8082
url:/pinter/case/memory
query:userName=admin&password=1234
2)Jmeter添加监控三方插件
下载地址:http://jmeter-plugins.org/downloads/all
Jar包放jmeter中lib/ext目录
下载插件:
3 Basic Graph:windows下可用的实时tps和响应时间的插件
Custom JMeter Functions
Random CSV Data Set Config
PerfMon :服务端性能实时监控插件
2、监控工具
1)Jmeter工具
2)jstat命令
Jstat –gcutil 72800 100
3)jvisualvm工具
3、内存泄漏表现
1)现象一:通过jmeter插件可以看到,tps一直下降,RT一直上升
Tps逐渐下降,降至0
Rt相应时间一直上升
2)现象二:通过jstat查看,old老年代一直是100%,fgc次数一直上涨
Old老年代一直处于100%
Fugc一直上涨
3)现象三:Jvisualvm内存一直上涨,最后变成一条曲线
4、判断是否为内存泄漏
查看日志是否有内存溢出OutOfMemoryError的报错
cd /usr/src/tomcat-pinter/logs
tail -100 catalina.out
5、排查思路
1)可以忽略的对象:
数据类型相关的不用管:[B Byte [C Char [I int
Java开头的不用管:属于底层对象
2)重点关注的对象:
业务相关:一般以com/cn开头
框架相关:org开头三方框架
6、定位问题方法
1)通过jmap命令定位问题
通过jmap命令打印出暂用内存前30的对象
Jmap –histo 72800 | head -30
2)通过jvisualvm工具定位问题
点击堆dump下载到服务器显示的目录
在远程服务器给对应的文件授权
chmod 777 /usr/src/tomcat-pinter/temp/heapdump-1671609652793.hprof
下载文件到桌面
通过jvisualvm打开文件
右上角文件-装入-堆-文件
定位问题
通过大小排序查看
7、源码分析
1)根据打印的路径找到项目对应的目录
2)通过sz或者ftxp下载到本地
3)利用jd.gui工具查看源码
Jd.gui官网地址:http://java-decompiler.github.io/
4)分析源码
代码逻辑问题:每次有用户登录,就会去写入session,没有判断用户已经登录,存在session数据
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
在生命的旅途中,没有一条路是可以轻松走过的。要勇敢地跨过阻碍,不断地攀登高峰,你将会收获更多的经验和智慧。
不要怕失败,每一次的失败都是通往成功的必经之路。学会从中汲取教训,重新站起来,坚持努力,你一定能实现心中的梦想!
没有人能够随随便便取得成功,成功需要辛勤的努力和持之以恒的决心。勇敢地追求梦想,坚守信念,永不停止脚步,你必定会站在人生巅峰!