JMeter非GUI模式执行结束时卡顿崩溃问题排查求助
JMeter非GUI模式性能测试崩溃排查
问题场景
在JMeter 5.6.3非GUI模式下对createUser API执行性能测试,线程组配置为8000用户、持续8秒。测试执行后期出现无响应崩溃,控制台及日志无报错提示,需手动执行shutdown操作才能终止进程。
控制台输出
apache-jmeter-5.6.3\bin>jmeter -n -t "C:\script\Createusers.jmx" -l "C:\Reports\Ngui8000.jlt" -e -o "C:\Reports\htmlNGui8000sec" WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release Creating summariser <summary> Created the tree successfully using C:\script\Createusers.jmx.jmx Starting standalone test @ 2025 Jul 8 18:13:51 CEST (1751991231000) Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445 summary + 1 in 00:00:13 = 0.1/s Avg: 8617 Min: 8617 Max: 8617 Err: 0 (0.00%) Active: 6419 Started: 6419 Finished: 0 summary + 3536 in 00:00:26 = 136.2/s Avg: 22090 Min: 4350 Max: 38500 Err: 2406 (68.04%) Active: 4464 Started: 8000 Finished: 3536 summary = 3537 in 00:00:39 = 91.2/s Avg: 22086 Min: 4350 Max: 38500 Err: 2406 (68.02%) summary + 2146 in 00:00:30 = 71.5/s Avg: 43382 Min: 23189 Max: 67476 Err: 96 (4.47%) Active: 2318 Started: 8000 Finished: 5682 summary = 5683 in 00:01:09 = 82.6/s Avg: 30128 Min: 4350 Max: 67476 Err: 2502 (44.03%) summary + 1648 in 00:00:30 = 54.9/s Avg: 71639 Min: 52860 Max: 97227 Err: 21 (1.27%) Active: 670 Started: 8000 Finished: 7330 summary = 7331 in 00:01:39 = 74.2/s Avg: 39459 Min: 4350 Max: 97227 Err: 2523 (34.42%) summary + 669 in 00:40:46 = 0.3/s Avg: 124192 Min: 83900 Max: 2537267 Err: 349 (52.17%) Active: 0 Started: 8000 Finished: 8000 summary = 8000 in 00:42:25 = 3.1/s Avg: 46545 Min: 4350 Max: 2537267 Err: 2872 (35.90%) Tidying up ... @ 2025 Jul 8 18:56:16 CEST (1751993776316) ... end of run
排查方向
系统资源瓶颈
- 实时监控测试机CPU、内存、磁盘IO:8000并发线程会大量消耗资源,资源耗尽直接导致JMeter无响应。用任务管理器(Windows)或top(Linux)全程跟踪资源使用率。
- 调整JMeter堆内存:默认堆内存撑不起8000线程,修改
jmeter.bat/jmeter脚本里的HEAP参数,比如设为HEAP="-Xms4g -Xmx8g",根据机器硬件配置合理分配。
API与脚本问题
- 分析错误率波动:测试前期错误率达68%,后期仍有异常,说明被测createUser API可能无法承受高并发,需排查后端是否存在超时、数据库连接池耗尽、锁竞争等问题。
- 检查脚本资源泄漏:确保HTTP请求使用
HttpClient4实现,开启连接池配置,避免未关闭的连接堆积导致进程僵死。
JMeter配置与日志
- 开启DEBUG级日志:修改
jmeter.properties里的log_level.jmeter为DEBUG,重新跑测试,从jmeter.log里找隐藏的异常细节。 - 检查4445端口占用:JMeter靠4445端口接收终止指令,若端口被占用会导致无法正常结束。用
netstat命令排查端口使用情况。 - 排查插件兼容性:控制台提示插件包扫描过时,部分第三方插件可能引发兼容性问题,先移除非必需插件再测试。
- 开启DEBUG级日志:修改
线程组配置合理性
- 8秒启动8000线程属于极端并发,每秒启动1000线程可能瞬间压垮测试机或被测系统。适当延长Ramp-Up时间,逐步增加并发,验证是否还会崩溃。
内容的提问来源于stack exchange,提问作者Ema
相关产品推荐
相关产品推荐

