JMeter的CLI模式,性能优于GUI模式

JMeter的CLI模式简介

CLI的模式的最大优势是节省系统资源,能够产生更大的负载,可以通过命令行参数对测试场景进行更精细的配置。也可以通过shell脚本命令执行,易于持续集成。所以当负载测试时,最好在CLI模式下运行JMeter,可以从中获得最佳结果。

使用无GUI的模式: jmeter -n -t test.jmx -l test.jtl
尽量少使用监听器Listener;如果使用上面的-l标记,他们均可以被删除或禁用
在压力测试过程中,不要使用查看结果树或在Table中查看结果监听器,仅在脚本调试阶段使用即可

以下对jmeter命令选项进行描述。

-n  指定JMeter在CLI模式下运行
-t  加载测试脚本文件JMX
-l  指定日志文件JTL用来记录取样器的结果
-j  指定JMeter的运行日志
-r  按照JMeter property "remote_hosts"中配置的服务器运行测试用例,如:jmeter -n -t script.jmx -r 
-R  指定远程服务器运行测试用例,如jmeter -n -t script.jmx -R server1,server2,…
-g  生成CSV格式的仪表盘报表
-e  在性能测试后生成仪表盘报表
-o  在负载测试后,生成报告仪表板的输出文件夹
-H  设置 JMeter 使用的代理主机,测试服务器的域名或者IP笛子
-P  设置 JMeter 使用的代理主机的端口号,测试服务器端口

测试命令

以实际的案例介绍CLI测试流程。

 D:\apache-jmeter-5.3\bin> ./jmeter -n -t D:\MyTestPlan-JMeter\Manager.jmx  -l D:\MyTestPlan-JMeter\Manager.jtl -H localhost -P 8000
Creating summariser <summary>
Created the tree successfully using D:\MyTestPlan-JMeter\Manager.jmx
Starting standalone test @ Tue Dec 15 13:19:00 CST 2020 (1608009540348)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary +      1 in 00:00:00 =    3.8/s Avg:    41 Min:    41 Max:    41 Err:     0 (0.00%) Active: 2 Started: 2 Finished: 0
summary +    906 in 00:00:09 =  101.4/s Avg:     3 Min:     1 Max:    41 Err:     0 (0.00%) Active: 0 Started: 16 Finished: 16
summary =    907 in 00:00:09 =   98.6/s Avg:     3 Min:     1 Max:    41 Err:     0 (0.00%)
Tidying up ...    @ Tue Dec 15 13:19:09 CST 2020 (1608009549671)
... end of run

记录测试日志

在Jmeter命令行指定Manager.jtl 日志文件,输出如下所示:
在这里插入图片描述

JMeter集群

JMeter的集群模式是将多台机器联合起来进行负载测试,从而弥补单台机器负载生成能力不足。在集群模式下,最少需要两台机器,其中一台是client,用于控制其他执行机的机器,不产生负载压力,另一台server用于执行测试计划。

开启server

在Linux或者Unix下,运行JMETER_HOME/bin/jmeter-server
在Windows下,运行JMETER_HOME/bin/jmeter-server.bat

配置测试参数

在负责管理的客户端机器上,编辑JMETER_HOME/bin/jmeter.properties文件,配置remote_hosts如下:

#---------------------------------------------------------------------------
# Remote hosts and RMI configuration
#---------------------------------------------------------------------------

# Remote Hosts - comma delimited
remote_hosts=127.0.0.1
#remote_hosts=localhost:1099,localhost:2010

将所有server的ip,以逗号分隔的格式进行配置,也可以在CLI的命令行中指定server的ip。

jmeter -R host1,127.0.0.1,host2,192.168.1.100......

通过客户端运行GUI

JMeter客户端的Run菜单下,运行"Remote Start" and “Remote Stop”
在这里插入图片描述

CLI模式的其它优势

使用CSV格式输出要优于XML
仅保存需要的数据
尽可能使用少的断言
使用最优的脚本语言(查看JSR223部分)
运行测试用例的时间比GUI要短
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值