1. 环境准备
- 首先准备几台机器,假如现在有两台服务器192.168.3.155,192.168.3.156
- 上传jmeter版本,并进行安装。安装比较简单这里不再赘述。(必须要保证每个服务器的版本一致)
- 上传测试所需要用到的插件以及测试脚本中所用到的配置文件。 (这里如果没有统一全,那么可能会执行失败.)
- 上传需要测试的脚本。(这个只需要上传到master下就可以了,在调用执行的时候,master会将脚本复制到远程服务来进行执行)
2.配置修改
slave的配置
1. 在slave中需要我们通过启动jmeter-server来提供一个服务,来让master进行调用。
2. 启动jmeter-server需要先进行配置。在jmeter的bin目录下有一个jmeter.properties文件。
3. 在文件中 找到server.port=1099.默认是注释的,打开注释修改为自己希望的ip。
这里我使用的是默认端口。
4. 执行命令进行启动slave服务,
./jmeter-server -Djava.rmi.server.hostname=192.168.3.156
注:需要加-Djava.rmi.server.hostname,否则可能出现下面的错误。
An error occurred: Cannot start. localhost.localdomain is a loopback address.
启动成功
Master服务配置
1. 配置jmeter.properties,在文件中找到remote.hosts属性.
3.进行测试
1. 启动脚本,增加-r参数会读取配置文件中的ip,来启动远程服务。
jmeter -n -t test.jmx -r -l test.jtl
2. 当然还可以通过 -R 参数来覆盖jmeter.properties中的remote.hosts
jmeter -n -t test.jmx -R 192.168.3.156:1099 -l test.jtl
效果都是一样的。如果这里出现卡顿,可能是插件配置文件等,没有统一。修复好以后,需要停掉slave的服务在进行启动,否则可能出现下列错误
JMeter remote test fails with error message “Engine is busy - please try later”
正常执行后等待slave执行结果