1、Jstack打印快照
1)Jmeter运行压测脚本
2)用jstack打印快照,下载到本地
jstack 112759 > log1.txt
jstack 112759 > log2.txt
jstack 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年最全的软件测试工程师学习知识架构体系图 |
在生活的大舞台上,每一个人都是自己命运的编剧和主角,只有通过不懈的奋斗和坚韧的毅力,我们才能在挑战与机遇中创造出属于自己的精彩篇章。
人生就像一场马拉松,不在乎起点,只在乎终点,每一步都充满挑战,每一次跌倒都需要坚韧的毅力站起,只有不断奋斗,我们才能到达成功的彼岸,描绘出属于自己的丰富多彩的人生画卷。
生活不会因为你的困难而停止前进,同样,你也不能因为困境而停止奋斗。只有拼尽全力,我们才能在人生的海洋中航行,才能在挑战中创造出属于自己的辉煌。