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

news2024/9/22 7:35:42

目录:导读

    • 前言
    • 一、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性能测试

请添加图片描述

九、总结(尾部小惊喜)

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1202423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

npm install导致的OOM解决方案

文章目录 问题记录解决方法Linux重启排查方法 如何排查Linux自动重启的原因 问题记录 我在华为云服务器配置npm开发环境的时候, SSH远程连接一直掉线,无奈提了工单,被告知是NPM install导致的OOM问题。无语了,破NPM还有这个问题呢…

Android问题笔记四十四:关于RecyclerView出现Inconsistency detected崩溃

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&…

项目二:家庭记账系统

目录 一:目标 二:需求说明 2.1:基本资金和收支明细的记录 2.2:键盘访问的实现 三:实现步骤 3.1:实现主程序结构 3.2:实现收入和支出登记处理 3.3:工具类的使用 四:代…

POE布线系统传输性能与轻量化认证测试

• I/II级(8类)及以下铜缆物理层认证测试 • 布线系统PoE实际承载能力测试 • PoE带载条件下的信道运行余量(信噪比)测试 • 光电混合缆认证测试 • 网络连通性测试 信道测试支持: 物理层所有认证…

20. 深度学习 - 多层神经网络

Hi,你好。我是茶桁。 之前两节课的内容,我们讲了一下相关性、显著特征、机器学习是什么,KNN模型以及随机迭代的方式取获取K和B,然后定义了一个损失函数(loss函数),然后我们进行梯度下降。 可以…

ubuntu上安装edge浏览器

1下载edge浏览器 官网下载 edge浏览器的linux版本可在上面的官网中寻找。 我选择的是Linux(.deb)。 2 安装 可在终端的edge安装包所在的路径下输入下面命令安装。 sudo dpkg -i edge安装包的名称.deb3 安装可能存在的问题 1dpkg:依赖关系问题使得edge-stable的配置工作不…

Linux系统进行进程管理,用户管理,文件压缩命令

目录 1.gcc与g区别(补充了解) 2.进程管理命令 3.用户管理命令 4.文件压缩与解压命令 5.常见面试题目 1.gcc与g区别(补充了解) 比如有两个文件:main.c,mainc.cpp(分别用C语言和C语言写的)如果要用gcc编译呢? gcc -o mainc main.c gcc -o mainc mainc.cpp -lstdc 指明用c的…

【MySQL】入门基础

文章目录 1 :peach:数据库基础:peach:1.1 :apple:什么是数据库:apple:1.2 :apple:主流数据库:apple:1.3 :apple:服务器/数据库/表关系:apple:1.4 :apple:MySQL架构:apple:1.5 :apple:SQL分类:apple:1.6 :apple:存储引擎:apple: 2 :peach:库的操作:peach:2.1 :apple:创建数据库:…

想要轻松上手Docker?Portainer帮你实现零基础快速部署!

Portainer简介 前面我们已经讲解了安装docekr和使用docker run 部署容器了,但是这些可能需要使用CLI(命令行参数)才能快乐的玩耍,因此可以使用一个工具在web界面进行配置管理容器与镜像,方便大家使用。 Portainer是一款Docker容器管理系统&am…

基于正余弦算法优化概率神经网络PNN的分类预测 - 附代码

基于正余弦算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于正余弦算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于正余弦优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络…

Vue3封装自定义指令+h()

官方install介绍 directive/myDir/index.js 定义指令 import { h, render, ref } from "vue"; const vMyDir {mounted(el, binding) {renderElement(el, binding);}, }; // inserted是Vue2的生命周期钩子,所以在Vue3项目中要使用mounted const renderEl…

Python爬虫从基础到入门:找数据接口

Python爬虫从基础到入门:找数据接口 1. 怎样判断抓取的数据是动态生成的2. 用requests模块访问,然后用解析模块解析数据3. 总结1. 怎样判断抓取的数据是动态生成的 请参考文章:Python爬虫从基础到入门:认识爬虫 第3点所讲。 这里用我的CSDN个人主页举例。 可以说这部分下的…

对比国内主流开源 SQL 审核平台 Yearning vs Archery

Yearning, Archery 和 Bytebase 是目前国内最主流的三个开源 SQL 审核平台。其中 Yearning 和 Archery 是社区性质的项目,而 Bytebase 则是商业化产品。通常调研 Bytebase 的用户也会同时比较 Yearning 和 Archery。 下面我们就来展开对比一下 Yearning 和 Archery…

JDK 17 安装过程 Windows10

官网下载地址:https://www.oracle.com/java/technologies/downloads/#java17 选择JDK17,并选择Windows版本,点击x64 Installer的下载链接。 下载要是有问题可以从笔者网盘自取: 链接:https://pan.baidu.com/s/1tvT2-l…

拟液态加载器

效果展示 CSS 知识点 SVG 的 feGaussianBlur、feColorMatrix 属性运用animation 属性运用filter 联合 SVG 使用 整体页面结构 <div class"container"><h2>Milk</h2><!-- 加载器的圆点部分 --><div class"loader"><spa…

mac配置双网卡 mac同时使用内网和外网

在公司办公通常都会连内网&#xff0c;而连内网最大的限制就是不可以使用外网&#xff0c;那遇到问题也就不能google&#xff0c;而当连接无线的时候&#xff0c;内网的东西就不可以访问&#xff0c;也就不能正常办公&#xff0c;对于我这种小白来说&#xff0c;工作中遇到的问…

研究前沿 | Science:单细胞测序助力绘制迄今最完善的灵长类动物前大脑发育图谱

引言 大脑发育的关键分子机制在啮齿动物中已有所了解&#xff0c;但在灵长类动物中仍然不清楚&#xff0c;这限制了研究者对高级认知能力起源和功能障碍的理解。此外&#xff0c;在包括人类在内的灵长类动物中&#xff0c;关于轴突投射路径上的丘脑区域和皮层区域多样化的早期分…

idea2023启动springboot项目如何指定配置文件

方法一&#xff1a; 方法二&#xff1a; 举例&#xff1a;

第七章 块为结构建模 P5|系统建模语言SysML实用指南学习

仅供个人学习记录 应用泛化对分类层级建模 继承inherit更通用分类器的公共特性&#xff0c;并包含其他特有的附加特性。通用分类器与特殊分类器之间的关系称为泛化generalization 泛化由两个分类器之间的线条表示&#xff0c;父类端带有空心三角形箭头 块的分类与结构化特性…

外贸开发信邮箱如何选?群发邮件有效技巧?

外贸开发信邮箱用哪种好&#xff1f;QQ邮箱群发邮件怎么发&#xff1f; 一个有效的外贸开发信邮箱可以帮助您建立联系、推销产品&#xff0c;并与潜在客户进行沟通。在本文中&#xff0c;蜂邮EDM将分享一些关于如何选择外贸开发信邮箱的建议&#xff0c;以确保您能够与全球客户…