13年测试老鸟,性能压测-死锁定位分析/内存溢出实例(超详细)

news2024/11/26 6:24:16

目录:导读

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


前言

死锁问题定位与分析

1、环境搭建

1)准备脚本,执行压测

请添加图片描述

2)用jstack 打印日志

jstack 112759 >dead.log

请添加图片描述

3)下载日志到本地

sz dead.log

2、问题定位

1)打开dead.log

搜索deadlock

在这里插入图片描述

2)查看死锁的线程

在这里插入图片描述

3)查看死锁位置

在这里插入图片描述

3、问题分析

1)下载死锁的类文件

Sz CaseController.class

2)使用jd-gui工具,打开文件,根据提示路径找到死锁的代码

at cn.testfan.perf.beihe.pinter.http.CaseController.dead(CaseController.java:81)

在这里插入图片描述

4、优化思路

1)避免嵌套枷锁

2)减少加锁的内容

5、线程阻塞和线程死锁的异同对比

1)相同点:
都是代码加锁导致

2)不同点:
阻塞只有一个锁,发生阻塞后只是性能慢,程序可运行;
死锁嵌套枷锁,发生死锁后服务器不相应请求,cpu资源利用率为0;

内存溢出案例

1、JVM内存参数配置

1)给项目的tomcat的catalina.sh添加配置参数

cd /usr/src/tomcat-pinter/bin

vi catalina.sh

在第二行添加以下配置:

JAVA_OPTS="-Xms512m -Xmx512m -Xmn256m -Xss1024k -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -XX:+UseConcMarkSweepGC -Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.196.130.103"

请添加图片描述

2)重启tomcat项目

杀死项目,重启tomcat

./startup.sh & tail -f ../logs/catalina.out

请添加图片描述

2、查看配置信息

1)查看JVM配置信息

Jmap -heap 72800

请添加图片描述

2)通过jvisualvm图形化

在这里插入图片描述

3、JVM监控

1)jstat命令监控JVM

Jstat –gcutil 72191 10

请添加图片描述

2)jvisualvm图像监控

在这里插入图片描述

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要你愿意为梦想付出努力,就没有什么能阻挡你前进的步伐。坚持不懈,勇往直前,你将会创造属于自己的辉煌人生!

任何时候,都不要放弃自己的梦想。只要你坚持不懈地追求,就一定能够取得成功,创造出属于自己的精彩人生!

人生短暂而珍贵,不要让自己留下任何遗憾。抓住机会,勇往直前,追求自己的梦想,创造属于自己的精彩人生!

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

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

相关文章

0029Java程序设计-家政服务平台管理系统

文章目录 摘要目录系统设计开发环境 摘要 本文首先研究并介绍国内外目前的背景和现状,在此基础上给出论文的主要研究内容,其次,对家政服务平台管理系统的需求进行了分析。再次,对家政服务平台管理系统进行了总体设计,…

虚拟机安装详细步骤(简单版)

虚拟机作为工作以及学习的工具,是很多人必不可少的一款软件,今天就给大家讲一讲如何将虚拟机成功安装上系统,其中呢也将部分问题在文章中表达,因为很多人表示出现了一些问题,却没有办法解决,所以写了这一篇…

0032Java程序设计-基于JavaEE的智能化酒店点餐收款系统的设计与实现论文

文章目录 摘 要目录系统设计开发环境 摘 要 酒店点餐收款系统是为了实现酒店餐饮自动化管理而设计的,它完全取代了原来酒店餐饮管理一直使用的人工处理的工作方式,并且避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时…

给定两个单链表,编写算法找出两个链表的公共结点

给定两个单链表,编写算法找出两个链表的公共结点 算法思路: 如果两个链表有公共结点,那从某个公共结点开始,就两路并一路了,类似下图 知道这个性质之后我们就可以解决问题了,先判断出两个链表哪个是长链…

【Jenkins】新建任务FAQ

问题1. 源码管理处填入Repository URL,报错:无法连接仓库:Error performing git command: ls-remote -h https://github.com/txy2023/GolangLearning.git HEAD 原因: jenkins全局工具配置里默认没有添加git的路径,如果…

Openssl数据安全传输平台017:客户端在Linux上的编译与调试记录

文章目录 1 在windows上先预编译2 Centos上进入项目文件夹进行编译2.1 找不到protobuf的google文件夹2.2 找不到动态库ljson2.3 动态库软链接失效2.4 undefined reference to Json::Value::asString[abi:cxx11]() const![在这里插入图片描述](https://img-blog.csdnimg.cn/5a8e…

快递单号批量查询教程,掌握包裹动态,让你成为物流达人!

亲爱的读者们,你是否曾经为了追踪快递包裹而烦恼?是否曾经为了查询多个快递单号而感到繁琐?现在,我们为你带来一个高效便捷的解决方案——快递单号批量查询教程!让你轻松掌握包裹动态,成为物流达人&#xf…

【深入浅出】寄存器精讲第一期

🌈个人主页:聆风吟 🔥系列专栏:数据结构、算法模板、汇编语言 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. ⛳️开篇1.1 🔔CPU 概述(简单了解&#xff09…

两数和的目标 python (初学者vs程序员)

题目描述 1)给定一个整数列表,在列表中,从前向后查找两个元素使其相加之和等于目标数,并返回两个整数在列表中的下标。如果没有符合条件的数字,输出False,本题假设题目的解唯一。‬‪‬‪‬‪‬‪‬‮‬‪…

07. 蜂鸣器

07. 蜂鸣器 硬件原理分析代码编写 硬件原理分析 此处为PNP型三极管,BEEP为低的时候三极管才会导通,也就是BEEP0时,蜂鸣器会叫。BEEP是通过SNVS_TAMPER1这个IO控制的 代码编写 将前面的bsp、imx6ul、obj和project拷贝过来 初始化SNVS_TAMPE…

首次cmake 多目录构建失败

新建test3目录,新建如下图空目录;前文有4个源码文件,2个h,2个cpp;把前文的cpp文件拷贝到src目录下,把h文件拷贝到include目录下;前文的CMakeLists.txt拷贝到test3目录下; 在src目录新…

基于小安派AiPi-Eye-S1的Nes游戏机

1.作品展示 作品功能可见以下B站视频 外壳可以使用灰太狼大佬提供的外壳STL文件。在嘉立创三维猴上打印(外壳12元快递6元)。 外壳从以下的帖子中获取: 模型分享 2.作品说明 2.1 硬件部分 硬件上使用到了AiPi-Eye-S1开发板以及3.5寸 240*3…

社恐了怎么办?如何改变社交恐惧症?

社恐这个词已经算是普及了,自嘲自己是社恐的人真的挺多的,好像一句我社恐了就能解析很多问题,其实真正的社恐远比我们想象的要痛苦多了,社恐能被更多人认识到本来是件好事,但是过于的用社恐来给自己贴标签,…

VBA技术资料MF75:测量所选单元格范围的高度和宽度

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

从InnoDB索引的数据结构,去理解索引

从InnoDB索引的数据结构,去理解索引 1、InnoDB 中的 BTree1.1、BTree 的组成1.2、BTree中的数据页 2、聚簇索引2.1、聚簇索引的特点2.2、聚簇索引的结构示例2.3、聚簇索引的优缺点 3、非聚簇索引3.1、非聚簇索引结构示例3.2、关于回表3.3、聚簇索引和非聚簇索引的区…

ALS算法在菜品智能推荐系统的应用

核心推荐模块的推荐算法是基于用户推荐模 型(user_model)协同过滤的矩阵分解过滤算法 ALS。其算法原理可叙述为: ALS收集大数据样本的用户评分喜好信息,训 练推荐模型,基于该模型进行协同过滤。 对于任意一个形如用户-…

记录几个常用的docker镜像

背景 Docker 部署有着非常多的优势,可以帮助提高开发、测试和部署的效率,降低成本,使应用更具可移植性和可扩展性,包括但不限于 标准化应用发布,跨平台和主机使用:Docker的镜像提供了标准化发布环境&…

基于引力搜索算法的无人机航迹规划-附代码

基于引力搜索算法的无人机航迹规划 文章目录 基于引力搜索算法的无人机航迹规划1.引力搜索搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用引力搜索算法来优化无人机航迹规划。 …

报错:Error: error:0308010C:digital envelope routines::unsupported

运行旧项目时,报错:Error: error:0308010C:digital envelope routines::unsupported 主要原因:node版本太高了 解决方法:package.json 包文件中,添加代码 set NODE_OPTIONS--openssl-legacy-provider && &am…

代码审计-锐捷EG易网关 download.php 后台任意文件读取漏洞

首先登录到后台中(可以组合 锐捷EG易网关 管理员账号密码泄露漏洞) 关键部分代码为 直接从Get请求中提取 file参数读取文件,可以使用 …/ 跳转目录 验证POC /download.php?aread_txt&file../../../../etc/passwd漏洞证明: 文笔生疏,…