1、在Linux通过jmeter -n -t test.jmx脚本设置50-100-150并发、点击调度器、持续压测300秒
2、发现TPS在50并发的时候就已经可以达到3000/sec、但是分别设置并发为100和150的时候、此时的TPS还是3000/sec
3、但是通过dstat -tcmnd --disk-util 命令去监控的时候发现CPU的使用率始终没有很大的波动、空闲95%左右、只占用了5%左右、说明此时不存在fullGC和youngGC 内存泄露和内存溢出的问题
4、那么此时只能进行进一步的排查和定位、通过jstack 进程号 >1.log jstack 进程号 2.log命令去获取对应的日志、看一下是不是线程阻塞的问题
5、然后把捕捉的日志下载到本地用notepad++打开、发现Thread.stat:Blocked阻塞的地方多达70多个地方
6、log4j发生了阻塞、通过分析代码发现log4j的jar通过反编译工具打开之后、找到了Category.class这个类、里面的第204行调了一个方法叫做callAppenders里面用了synchronized的锁
7、
标签:sir,多测师,阻塞,并发,TPS,线程,杭州 From: https://www.cnblogs.com/xiaoshubass/p/16753605.html