Jmeter的分布式控制,就是指远程启动功能。执行原理:
1、一台作为调度机(master),其它机器做为执行机(slave)
2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行
3、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总
详情见官网:Apache JMeter - Apache JMeter 分布式测试分步https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
master | win10 jdk1.8 jmeter 5.1.1 |
slave1 | centos7 jdk1.8 jmeter 5.1.1 |
slave2 | centos7 jdk1.8 jmeter 5.1.1 |
slave环境部署
注意要下载二进制文件
官网默认给的都是最新版本,历史版本下载地址
Index of /dist/jmeterhttps://archive.apache.org/dist/jmeter/
下载完成后解压,进入路径/root/apache-jmeter-5.1.1/bin
- 更改jmeter.properties文件
关闭slave机器上的ssl配置
- 更改jmeter-server文件
IP替换成slave机器的IP即可
否则会报错,Cannot start. localhost.localdomain is a loopback address.
- 执行启动命令 ./jmeter-server
表示jmeter服务启动成功了
master环境部署
- 把两个远程机器IP加上
- 设置server.rmi.ssl.disable=true
- 设置mode=Batch
测试计划中的侦听器将其结果发送回客户端 JMeter,该客户端将结果写入指定的文件 默认情况下,示例在生成时同步发回。 这可能会影响服务器测试的最大吞吐量;必须先发回示例结果,然后线程才能发回 继续。 可以设置一些 JMeter 属性来更改此行为。Apache JMeter - 用户手册:远程(分布式)测试https://jmeter.apache.org/usermanual/remote-test.html#sendermode
重启jmeter就可以执行测试计划了!
可以选择在某一台机器上执行,也可以选择在所有slave远程执行