当前位置: 首页 > 测试知识 > JMeter非GUI模式执行怎么用?
JMeter非GUI模式执行怎么用?
2026-06-24 作者cwb 浏览次数57

JMeter 非 GUI 方式的常用参数和执行方式。


基本命令语法


bash

jmeter -n -t [测试脚本.jmx] -l [结果文件.jtl] [其他选项]


-n :启动非 GUI 方式(必选)


-t :指定要执行的 JMX 测试计划文件


-l :将采样结果输出到指定的 JTL 文件


常用参数


-n

启用非 GUI 方式,不启动图形界面。


-t

指定测试脚本文件途径,如 -t test.jmx。


-l

测试结果输出的 JTL 文件途径,如 -l result.jtl。建议使用 .jtl 后缀。


-j

JMeter 自身运行日志文件途径,如 -j jmeter.log。不指定时默认输出到 jmeter.log。


-e

测试结束后自动生成 HTML 报告,需配合 -o 一起使用。


-o

存放 HTML 报告的目录,该目录必须不存在或为空,如 -o ./report。可和 -f 配合强制清空。


-f

强制删除已经存在的 JTL 结果文件和报告目录,以便重新运行。


-R

指定远程 slave 节点列表,多个节点用逗号分隔,如 -R 192.168.1.10:1099,192.168.1.11:1099。此时 master 只负责收集,不执行测试。


-r

启动所有在 jmeter.properties 中配置的远程 slave 节点。


-H / -P

设置代理主机和端口,用于通过代理发起测试。如 -H proxy.com -P 8080。


-J属性名

向测试脚本传入自定义属性,可在脚本中通过 ${__P(属性名, 默认值)} 动态引用。

如 -Jthreads=100 -Jduration=300。


-L

设置日志级别,可选值如 ERROR、WARN、INFO、DEBUG(需大写)。如 -LDEBUG。

典型使用示例

1. 最简单的执行


bash

jmeter -n -t my_test.jmx -l result.jtl

仅运行脚本并保存原始结果。


2. 执行并直接生成 HTML 报告


bash

jmeter -n -t my_test.jmx -l result.jtl -e -o ./report

报告目录 ./report 必须为空或不存在。如果重复执行可加上 -f 强制包括:


bash

jmeter -n -t my_test.jmx -l result.jtl -e -o ./report -f


3. 命令行动态传入线程和循环次数

先在 JMX 中使用函数 ${__P(threads, 10)} 和 ${__P(loops, 1)} 定义变量,然后执行:


bash

jmeter -n -t dynamic.jmx -Jthreads=200 -Jloops=50 -l result.jtl


4. 分布式执行


启动所有已配置的远程 slave:


bash

jmeter -n -t test.jmx -r -l result.jtl


只指定部分远程机器:


bash

jmeter -n -t test.jmx -R 10.0.0.5:1099,10.0.0.6:1099 -l result.jtl


5. 通过代理网络执行


bash

jmeter -n -t test.jmx -H proxy.company.com -P 8080 -l result.jtl


6. 在 CI/CD 中的典型用法(如 Jenkins)


bash

rm -rf result.jtl report/

jmeter -n -t api_test.jmx -l result.jtl -e -o report


然后归档 report 目录或使用性能插件分析 JTL 即可。


注意事项

正式压测必须使用非 GUI 方式:GUI 会消耗大量客户端资源,导致测试结果失真,仅用于脚本开发和调试。

结果文件格式建议设为 CSV:在 user.properties 中配置 jmeter.save.saveservice.output_format=csv,比 XML 更省资源且便于处理。

调整 JVM 堆内存:大并发下需修改 jmeter 或 jmeter.bat 中的 HEAP 参数(如 -Xms2g -Xmx4g),避免内存溢出。

配合服务器监控:分析短板时不能只看 JMeter 报告,需同时监控 CPU、内存、IO、网络等标准。

操作系统途径差别:Linux/macOS 使用 jmeter 命令,Windows 使用 jmeter.bat,保证 JMETER_HOME/bin 已在环境变量中或使用绝对途径。


文章标签: 软件测试 测试工具
咨询软件测试