参考链接:
https://testerhome.com/articl...
分布式的原因
针对测试:单机无法支持过大并发量,需要多机器同时执行并发来解决
分布式的原理
主机 master 执行与分发脚本给 从机,汇总 从机 的执行结果
从机 salve 执行 主机 分发的脚本,并把数据反馈给主机
分布式实现
1 配置主机 master
修改配置文件
- jmeter.properties
在 jmeter.properties 文件中新增 remote_hosts 配置;
配置是 slave 主机的 ip 和 slave 主机里安装的 jmeter 的端口号
修改并删除注释:server.rmi.ssl.disable=true 关闭SSL,保证远程连接通畅
#---------------------------------------------------------------------------
# Remote hosts and RMI configuration
#---------------------------------------------------------------------------
# Remote Hosts - comma delimited
remote_hosts=127.0.0.1 # 填写从机的 ip:prot(可以不写,默认1098),多个从机以","分割
#remote_hosts=localhost:1099,localhost:2010
server.rmi.ssl.disable=true # 关闭SSL,保证远程连接通畅
- jmeter.bat(Windows平台) / jmeter(Linux/Mac平台)
在 jmeter.bat 文件中新增新增 set rmi_host=-Djava.rmi.server.hostname=本机 ip
2 配置从机 salve
从机必须提前安装好 JMeter,并配置环境变量
修改配置文件
- jmeter.properties
修改 slave 主机的 ip:remote_hosts={slave IP}
修改并删除注释:server.rmi.ssl.disable=true 关闭SSL,保证远程连接通畅\
开放三个默认端口
server_port = 1098
server.rmi.port=1098
server.rmi.localport = 1098
- system.properties
增加一行:java.rmi.server.hostname={slave IP}
- 配置 jmeter-server(与 system.properties 的配置二选一)
添加一行:RMI_HOST_DEF=-Djava.rmi.server.hostname={slave IP}
3 远程机器启动
启动命令:.jmeter-server
通过指定 IP 启动:
./jmeter-server -Djava.rmi.server.hostname={slave IP}
4 主机操作
可同时启动主机 master,能起到叠加效果,但是主机与远程机器启动有时间差
非 GUI 运行:
jmeter -R slave_ip:port(默认1098)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。