【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速...

目录:导读

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


前言

CPU问题定位与分析

1、环境准备

1)准备压测脚本

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第1张图片

2)上传到压测服务器

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第2张图片

2、现象分析

1)业务指标分析

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第3张图片

2)系统资源分析

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第4张图片

3、问题定位

1)打开jprofiler查看CPU views—Call Tree/Host Spots,查看占用cpu问题最高的函数

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第5张图片

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第6张图片

2)下载代码,用反编译工具查看,使用了谷歌的序列化gjson导致cpu使用率高

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第7张图片

4、优化问题

1)修改序列化组件为阿里的fastjson

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第8张图片

2)优化效果展示

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第9张图片

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第10张图片

线程阻塞案例分析

1、Jstack打印快照

1)Jmeter运行压测脚本

请添加图片描述

2)用jstack打印快照,下载到本地

jstack 112759 > log1.txt
jstack 112759 > log2.txt
jstack 112759 > log3.txt

请添加图片描述

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第11张图片

3)在本地搜索是否有blocked关键字

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第12张图片

2、分析代码

1)下载源码文件

cn.testfan.perf.beihe.pinter.http.CaseController.block(CaseController.java:60)

根据提示,找到casecontrokker的路径

/usr/src/tomcat-pinter/webapps/pinter/WEB-INF/classes/cn/testfan/perf/beihe/pinter/http

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第13张图片

2)分析代码出错地方

打开jd-gui查看源码60行

发现没有加锁的表示:synchronized,但是此行调用了loger方法

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第14张图片

3)去下载log4j的文件

路径:/usr/src/tomcat-pinter/webapps/pinter/WEB-INF/lib

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第15张图片

下载这个文件到本地

根据提示路径:

at org.apache.log4j.Category.callAppenders(Category.java:204)

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第16张图片

3、优化代码

调整log4j日志等级

1)找到log4j日志配置文件

路径:/usr/src/tomcat-pinter/webapps/pinter/WEB-INF/classes

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第17张图片

2)调整日志等级

vi log4j.properties

提升日志等级为 ERROR

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第18张图片

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

一、Python编程入门到精通

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第19张图片

二、接口自动化项目实战

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第20张图片

三、Web自动化项目实战

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第21张图片

四、App自动化项目实战

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第22张图片

五、一线大厂简历

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第23张图片

六、测试开发DevOps体系

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第24张图片

七、常用自动化测试工具

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第25张图片

八、JMeter性能测试

【性能测试】CPU问题定位与分析+线程阻塞案例分析,一篇直接上高速..._第26张图片

九、总结(尾部小惊喜)

即使在最黑暗的夜晚,也别忘记你内心燃烧的火光。只要有坚定的信念和不屈的决心,没有什么能阻挡你的前行之路。加油!

只要心中有梦,万事皆有可能。每一次挑战都是一次成长的机会,相信自己,勇敢追梦,你的未来无可限量。

生命短暂,不要浪费时间去担忧未知的明天,而是要充分利用今天去实现梦想。每一个小步都是成功的积累,坚持下去,你一定能够达到目标。

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