1. master机器上面执行如下操作:
.打开jmeter目录下的bin目录,用ue或者notepad++等编辑工具打开jmeter.porperties文件
配置:找到remote_hosts=负载机ip地址:1099(可以写多个ip中间用,分隔开,注意全部为英文符号)
多个远程机器使用:
2. 修改slave机器几点的如下配置:
修改jmeter.properties文件,禁用SSL认证,以使Master与Slave之间能够正常通信,找到“server.rmi.ssl.disable”节点,删除前面的#号,并将值从false修改为true,表示禁用SSL。
3. 启动 slave机器 jmeter-server.bat
4.启动master上命令
启动单个slave节点:jmeter.bat -n -t D:\Jmeter-Project.jmx -l D:\Jmeter-Result.jtl -e -o D:\JMeter-Report -R 127.0.0.1:1099,192.168.49.130:1099
启动所有slave节点:
jmeter -n -t script.jmx -r -l D:\Jmeter-Result.jtl -e -o D:\JMeter-Report
jmeter -n -t redline/tvm-tvmboot.jmx -r -l result/tvm/tvm-boot.jtl -e -o report/tvm/tvm-boot
5.GUI启动slave机器
启动单个slave或者所有slave如下:
第一个大坑:自己给自己挖了一个大坑,怎么都调用不成功从节点的,一直提示connection timeout,后来发现,jmetercopy到从机器上面路径有空格,真是自己害自己啊,耽误了两天时间
第二个大坑:分部署式远程负载均衡器,会把master机器上的测试计划全部分发给slave机器,所有slave机器都执行和master机器相同的测试计划,如果有csvdata,期望slave执行数据1-5,slave2执行6-10,这个时候需要把数据1-5复制到slave1对应的csvdata文件里面,数据6-10复制到slave2对应csvdata里面,这样才能执行真正的负载均衡。
比如我期待30个线程同时执行,我有三个slave机器,一个master机器,把对应的csvdata文件copy完后,master机器只需要启动10个线程,三个机器同时跑,就能执行线程30并发执行。