jmeter常用的命令行参数有哪些?常用的jmeter命令行如何编写

发布时间 2023-03-22 21:10:42作者: 牛二娃

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

 

一、JMete执行方式

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

二、JMete非GUI运行优点

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

三、jmeter非GUI运行参数

参数说明:

  • -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基本命令格式:

  • 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文件,效果展示如下:
  •