jmeter命令行运行(非GUI形式)参数详解

一、JMete执行方式

正常情况下我们会以有页面的方式打开jmeter编写接口,并进行压测。但如果想以自动化的方式运行jmeter压测,以有界面的形式就无法实现了,而且很多Linux服务器都没有界面的(非GUI),这就要求我们一非gui形式运行jmeter了

二、JMete非GUI运行优点

JMeter可视化界面及监听器动态展示结果都比较消耗负载机资源,在大并发情况下GUI方式往往会导致负载机资源紧张,会对性能测试结果造成影响。我们就只有多加机器来运行测试计划(分布式测试),这样一台负载机变为两台。所以推荐用非GUI的方式来运行测试计划。虽然非GUI方式不显示界面,但也会以字符形式周期性显示执行结果,对负载机的资源消耗会小一些,所有同等条件下非GUI方式的jmeter机器能够产生的负载会比GUI方式的jmeter产生的负载大一些。

三、jmeter非GU运行参数

参数说明:

  • -n 命令行模式
  • -t 指定jmx脚本地址(地址可以是相对路径,可以是绝对路径)
  • -h 查看帮助
  • -v 查看版本
  • -p 指定读取jmeter属性文件,比如jmeter.properties文件中设置的
  • -l 记录测试结果的文件,通常结果文件为jtl格式(文件可以是相对路径,可以是绝对路径)
  • -s 以服务器方式运行(也是远程方式,启动Agent)
  • -H 设置代理,一般填写代理IP
  • -P 设置代理端口
  • -u 代理账号
  • -a 代理口令
  • -J 定义jmeter属性,等同于在jmeter.properties中进行设置
  • -G 定义jmeter全局属性,等同于在Global.properties中进行设置,线程间可以共享)
  • -D 定义系统属性,等同于在system.properties中进行设置
  • -S 加载系统属性文件,可以通过此参数指定加载一个系统属性文件,此文件可以用户自己定义
  • -L 定义jmeter日志级别,如debug、info、error等
  • -j 制定执行日志路径。(参数为日志路径,不存在不会自动创建,将日志输出到命行控制台)
  • -r 开启远程负载机,远程机器列表在jmeter.properties中指定
  • -R 开启远程负载机,可以指定负载机IP,会覆盖jmeter.properties中remote_hosts的设置
  • -d 指定Jmeter Home目录
  • -X 停止远程执行
  • -g 指定测试结果文件路径,仅用于生成测试报表,参数是csv结果文件
  • -e 设置测试完成后生成测试报表
  • -o 指定测试报告生成文件夹(文件夹必须存在且为空文件夹)

四、jmeter非GUI运行命令

4.1非GUI基本命令格式:

jmeter -n -t baidu.jmx

chenshifengdeMacBook-Pro:~ chenshifeng$ jmeter -n -t baidu.jmx -l baidulog.jtl
Creating summariser <summary>
Created the tree successfully using baidu.jmx
Starting standalone test @ Fri Feb 19 18:07:30 CST 2021 (1613729250217)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary + 1 in 00:00:01 = 0.9/s Avg: 836 Min: 836 Max: 836 Err: 0 (0.00%) Active: 5 Started: 5 Finished: 0
summary + 376 in 00:00:29 = 13.2/s Avg: 381 Min: 318 Max: 938 Err: 0 (0.00%) Active: 5 Started: 5 Finished: 0
summary = 377 in 00:00:30 = 12.7/s Avg: 382 Min: 318 Max: 938 Err: 0 (0.00%)
summary + 381 in 00:00:30 = 12.7/s Avg: 392 Min: 312 Max: 1824 Err: 0 (0.00%) Active: 5 Started: 5 Finished: 0
summary = 758 in 00:01:00 = 12.7/s Avg: 387 Min: 312 Max: 1824 Err: 0 (0.00%)
summary + 397 in 00:00:30 = 13.2/s Avg: 378 Min: 285 Max: 1135 Err: 0 (0.00%) Active: 5 Started: 5 Finished: 0
summary = 1155 in 00:01:30 = 12.9/s Avg: 384 Min: 285 Max: 1824 Err: 0 (0.00%)
summary + 404 in 00:00:30 = 13.5/s Avg: 370 Min: 261 Max: 875 Err: 0 (0.00%) Active: 5 Started: 5 Finished: 0
summary = 1559 in 00:01:59 = 13.0/s Avg: 380 Min: 261 Max: 1824 Err: 0 (0.00%)

生成的测试报告可在Jmeter中使用聚合报告打开

4.2非GUI并生成html报告基本命令格式

jmeter -n -t baidu.jmx -l baidulog1.jtl -e -o log

jmeter -n -t baidu.jmx -l baidulog1.jtl -e -o output/
Creating summariser <summary>
Created the tree successfully using baidu.jmx
Starting standalone test @ Fri Feb 19 19:02:37 CST 2021 (1613732557435)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary = 50 in 00:00:02 = 20.2/s Avg: 139 Min: 43 Max: 643 Err: 0 (0.00%)
Tidying up ... @ Fri Feb 19 19:02:40 CST 2021 (1613732560194)
... end of run

执行完毕后,用浏览器打开生成的文件目录下的index文件,效果展示如下:

posted @   尘世风  阅读(1684)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
*/
点击右上角即可分享
微信分享提示

目录导航