Jmeter_分布式压测配置&命令行参数说明

前置条件

电脑A,电脑B,电脑C均安装相同版本的JMeter 和JDK。其中电脑A作为控制机(master),电脑B和电脑C作为施压机(slave)

电脑A IP:172.16.0.114

电脑B IP:172.16.0.115

电脑C IP:172.16.0.116

环境部署并使用

1、在master设备(电脑A)的 JMeter 的bin目录下,找到jmeter.properties文件,编辑该文件,将slave设备(电脑B、电脑C)的ip地址写入该文件,如:
修改:remote_hosts=172.16.0.115,172.16.0.116(若想把master机器当做施压机,将master的IP添加上即可)

在该文件修改  server.rmi.ssl.disable=true

2、运行所有slave机器上的jmeter-server文件,启动slave设备的jmeter服务,备注:window上运行jmeter-server.bat,linux上运行jmeter-server)

3、关闭所有机器(A、B、C)的防火墙,如果是公司不允许关闭防火墙,需要开启所有端口权限,仅开启1099端口或自定义的其他端口,管理机是连不上slave机器的。

4、启动管理机(A)的jmeter.bat,选择菜单“Run”--->"Remote Start",可看到你将用来产生负载的slave机器,此时你将可以实现使用多台机器进行负载测试了。如果需要停止远端任务,点击“Remote Stop All” 即可

5、查看压测机是否执行任务

命令行参数说明

命令行常用参数

  • -n  表示非GUI模式运行
  • -t 加载jmeter脚本,指定jmeter脚本的路径,即jmx文件的路径
  • -l  设置生成测试结果文件的路径,结果文件后缀设置为   .jtl
  • -r 启动jmeter.properties中配置的远程负载机进行压测。若不指定IP则执行全部机器,若指定IP则只执行指定机器。
  • -R 在命令行直接配置远程负载机进行远程执行
  • -g 加载jtl测试结果文件
  • -JParametersName=value 仅用于本地参数化方式,若使用-G,参数化不会生效
  • -GParametersName=value 仅用于远端参数化方式,若使用-J,参数化不会生效

 脚本中不需要从命令行中获取参数化值时,向远端下发压测命令:

jmeter -n -t demo.jmx -r

脚本中需要从命令行获取参数化值时,向远端下发压测命令:

jmeter -Gthread=20 -Gduration=200 -n -t demo.jmx -r
# 注:thread、duration为参数化变量名称

脚本中需要从命令行获取参数化值时,向本地下发压测命令:

jmeter -Jthread=20 -Jduration=200 -n -t demo.jmx

常见问题

1、执行报错:Error in rconfigure() method java.rmi.ConnectException: Connection refused to host

解决方法:关闭防火墙,开放所有端口权限

posted @ 2020-04-14 15:29  码上测  阅读(721)  评论(0编辑  收藏  举报