测试用例:JMeter的分布式执行及命令行运行脚本
晓晓 2018-03-13 来源 :网络 阅读 2115 评论 0

摘要:jmeter可以适用于主流的各大平台上,但是并不是所有系统都支持GUI的模式,jmeter贴心的提供了命令行的方式进行jmeter脚本的运行,有了命令行的执行方式。在进行大数据量进行压测时,一台执行机会引起本身的性能瓶颈,所以需要用到分布式的执行方式,所以有了分布式的方式。

jmeter可以适用于主流的各大平台上,但是并不是所有系统都支持GUI的模式,jmeter贴心的提供了命令行的方式进行jmeter脚本的运行,有了命令行的执行方式。在进行大数据量进行压测时,一台执行机会引起本身的性能瓶颈,所以需要用到分布式的执行方式,所以有了分布式的方式。

  一、命令行执行jmeter脚本:

  1、jmeter 的参数

  -h, –help -> prints usage information and exit

  -n, –nongui -> run JMeter in nongui mode

  -t, –testfile -> 要运行的 JMeter 测试脚本文件

  -l, –logfile -> 记录结果的文件

  -r, –runremote -> 在Jmter.properties文件中指定的所有远程服务器 (as defined in remote_hosts)

  -H, –proxyHost -> 设置 JMeter 使用的代理主机

  -P, –proxyPort -> 设置 JMeter 使用的代理主机的端口号

  2、常用命令语句

  jmeter 【-n】 【-t】 +文件名.jmx+文件路径 【-l】 文件路径+文件名.jtl

  PS1:此命令需要在\apache-jmeter-2.11\bin下执行

  PS2:文件名需要加上后缀

  在图形界面创建好脚本后,我们可以将我们的脚本拷贝到其他设备上运行,在bin下打开命令行执行命令:

  提前创建好脚本,此处的脚本为:用户登录系统,1个线程租、执行1次

测试用例:JMeter的分布式执行及命令行运行脚本

命令执行登录脚本文件

  执行完命令后,我们打开jmeter的GUI界面,在聚合报告中,打开结果文件,查看运行的结果:

测试用例:JMeter的分布式执行及命令行运行脚本

查看结果文件

  这种方式可以方便的在Linux及其他设备上运行,增加脚本的可移植性

  二、分布式jmeter执行

  1、使用Jmeter进行分布式测试的主要步骤是如下:

  2、在所有的机器上安装相同版本的Jmeter,然后在jemter\bin\下运行jmeter-server文件

  3、修改执行机上的jmeter properties文档中,修改端口:server_port、server.rmi.localport 两个参数的端口(一般建议从5开头的端口)如果是注释的请去掉前面的:#

测试用例:JMeter的分布式执行及命令行运行脚本

修改参数为“5073”

  PS:为了保证端口的唯一和可执行性,需要修改端口

  可以启在jmeter_server.bat 查看IP:

测试用例:JMeter的分布式执行及命令行运行脚本

jmeter_server.bat查看IP及端口

  4、在Cotroller机器上%Jmeter_Home%/bin下,找到Jmeter.properties,把执行机的ip添加到remote_hosts=10.10.17.9:5073,10.10.17.11:5088

测试用例:JMeter的分布式执行及命令行运行脚本

设置执行机的IP

  完成后重新启动jmeter_server、以及jmeter

  5、在Controller机器上》运行>Remote Start/Remote Start All. 注意Controller本身也可以做为Agent(需重复步骤3和4)

测试用例:JMeter的分布式执行及命令行运行脚本

运行

  ps:远程启动,每次只启动选中的IP,运程全部启动,则执行所有的执行IP

  我们选择,10.10.17.9.5073

  图中红框表示在运行

测试用例:JMeter的分布式执行及命令行运行脚本

选择执行机运行

  查看聚合报告:

测试用例:JMeter的分布式执行及命令行运行脚本

行后的聚合报告

  查看结果树:

测试用例:JMeter的分布式执行及命令行运行脚本

结果树结果

  以上为,图像界面的分布式部署执行jmeter脚本,但是我们还可以通过命令行的界面执行以上操作

  三、非GUI下分布式执行脚本

  1、修改执行机及控制机的参数

  

./jmeter -Djava.rmi.server.hostname=XX.XX.XX.XX -Dserver.rmi.localport=XXXX -Dserver_port=XXXX -s -j jmeter-server.log "$@"

  2、执行脚本输出结果

  jmeter -n -t xx.jmx -R xxx.xxx.xxx.xxx:5174,xxx.xxx.xxx.xxx:5172 -l xxx.jtl -j xxx.log

  PS:-R表示选择执行=远程启动

  -r 表示启动所有执行机=远程全部启动


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试工具频道!


本文由 @晓晓 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程