You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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命令排查端口使用情况。
    • 排查插件兼容性:控制台提示插件包扫描过时,部分第三方插件可能引发兼容性问题,先移除非必需插件再测试。
  • 线程组配置合理性

    • 8秒启动8000线程属于极端并发,每秒启动1000线程可能瞬间压垮测试机或被测系统。适当延长Ramp-Up时间,逐步增加并发,验证是否还会崩溃。

内容的提问来源于stack exchange,提问作者Ema

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 17:24:50