吐血整理,Jmeter服务端性能测试-线程阻塞问题案例分析(超细)

本文主要是介绍吐血整理,Jmeter服务端性能测试-线程阻塞问题案例分析(超细),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录:导读

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


前言

1、Jstack打印快照

1)Jmeter运行压测脚本

请添加图片描述

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

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

请添加图片描述

在这里插入图片描述

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

在这里插入图片描述

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

请添加图片描述

2)分析代码出错地方

打开jd-gui查看源码60行

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

在这里插入图片描述

3)去下载log4j的文件

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

请添加图片描述

下载这个文件到本地

根据提示路径:

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

在这里插入图片描述

3、优化代码

调整log4j日志等级

1)找到log4j日志配置文件

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

请添加图片描述

2)调整日志等级

vi log4j.properties

提升日志等级为 ERROR

请添加图片描述

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

在生活的大舞台上,每一个人都是自己命运的编剧和主角,只有通过不懈的奋斗和坚韧的毅力,我们才能在挑战与机遇中创造出属于自己的精彩篇章。

人生就像一场马拉松,不在乎起点,只在乎终点,每一步都充满挑战,每一次跌倒都需要坚韧的毅力站起,只有不断奋斗,我们才能到达成功的彼岸,描绘出属于自己的丰富多彩的人生画卷。

生活不会因为你的困难而停止前进,同样,你也不能因为困境而停止奋斗。只有拼尽全力,我们才能在人生的海洋中航行,才能在挑战中创造出属于自己的辉煌。

这篇关于吐血整理,Jmeter服务端性能测试-线程阻塞问题案例分析(超细)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/288185

相关文章

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

SpringBoot实现动态插拔的AOP的完整案例

《SpringBoot实现动态插拔的AOP的完整案例》在现代软件开发中,面向切面编程(AOP)是一种非常重要的技术,能够有效实现日志记录、安全控制、性能监控等横切关注点的分离,在传统的AOP实现中,切... 目录引言一、AOP 概述1.1 什么是 AOP1.2 AOP 的典型应用场景1.3 为什么需要动态插

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

关于@MapperScan和@ComponentScan的使用问题

《关于@MapperScan和@ComponentScan的使用问题》文章介绍了在使用`@MapperScan`和`@ComponentScan`时可能会遇到的包扫描冲突问题,并提供了解决方法,同时,... 目录@MapperScan和@ComponentScan的使用问题报错如下原因解决办法课外拓展总结@

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组