企业真正的性能测试,压测-内存泄露案例分析,一篇概全...

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、环境配置

1)创建jmter脚本

Ip:10.196.130.103
Port:8082
url:/pinter/case/memory
query:userName=admin&password=1234

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第1张图片

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张图片

2)jstat命令

Jstat –gcutil 72800 100

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第3张图片

3)jvisualvm工具

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第4张图片

3、内存泄漏表现

1)现象一:通过jmeter插件可以看到,tps一直下降,RT一直上升

Tps逐渐下降,降至0

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第5张图片

Rt相应时间一直上升

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第6张图片

2)现象二:通过jstat查看,old老年代一直是100%,fgc次数一直上涨

Old老年代一直处于100%

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第7张图片

Fugc一直上涨

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第8张图片

3)现象三:Jvisualvm内存一直上涨,最后变成一条曲线

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第9张图片

4、判断是否为内存泄漏

查看日志是否有内存溢出OutOfMemoryError的报错

cd /usr/src/tomcat-pinter/logs

tail -100 catalina.out

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第10张图片

5、排查思路

1)可以忽略的对象:

数据类型相关的不用管:[B Byte [C Char [I int

Java开头的不用管:属于底层对象

2)重点关注的对象:

业务相关:一般以com/cn开头

框架相关:org开头三方框架

6、定位问题方法

1)通过jmap命令定位问题

通过jmap命令打印出暂用内存前30的对象

Jmap –histo 72800 | head -30

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第11张图片

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第12张图片

2)通过jvisualvm工具定位问题

点击堆dump下载到服务器显示的目录

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第13张图片

在远程服务器给对应的文件授权

chmod 777 /usr/src/tomcat-pinter/temp/heapdump-1671609652793.hprof

下载文件到桌面

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第14张图片

通过jvisualvm打开文件

右上角文件-装入-堆-文件

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第15张图片

定位问题

通过大小排序查看

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第16张图片

7、源码分析

1)根据打印的路径找到项目对应的目录

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第17张图片

2)通过sz或者ftxp下载到本地

请添加图片描述

3)利用jd.gui工具查看源码

Jd.gui官网地址:http://java-decompiler.github.io/

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第18张图片

4)分析源码

代码逻辑问题:每次有用户登录,就会去写入session,没有判断用户已经登录,存在session数据

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第19张图片

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第20张图片

二、接口自动化项目实战

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第21张图片

三、Web自动化项目实战

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第22张图片

四、App自动化项目实战

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第23张图片

五、一线大厂简历

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第24张图片

六、测试开发DevOps体系

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第25张图片

七、常用自动化测试工具

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第26张图片

八、JMeter性能测试

企业真正的性能测试,压测-内存泄露案例分析,一篇概全..._第27张图片

九、总结(尾部小惊喜)

在生命的旅途中,没有一条路是可以轻松走过的。要勇敢地跨过阻碍,不断地攀登高峰,你将会收获更多的经验和智慧。

不要怕失败,每一次的失败都是通往成功的必经之路。学会从中汲取教训,重新站起来,坚持努力,你一定能实现心中的梦想!

没有人能够随随便便取得成功,成功需要辛勤的努力和持之以恒的决心。勇敢地追求梦想,坚守信念,永不停止脚步,你必定会站在人生巅峰!

你可能感兴趣的:(软件测试,性能测试,测试工程师,软件测试,软件测试工程师,Jmeter接口测试,性能测试,压力测试,负载测试,自动化测试)