Jmeter分布式压测
分布式图解
图解分布式:
环境准备
master 和 slave 一致性:
- jmeter版本需要一致
- jdk版本需要一致
- 插件需要一致(jmeter-plugins-manager-1.3.jar)
- 需要在同一个局域网
- csv文件需要使用相对路径
综上所述,我们可以把master的jmeter文件夹及脚本压缩发送给其他slave机器。
slave端配置修改:
-
打开配置文件 jmeter.properties ,
-
搜索 server_port(262行),重新建立一个server_port=1356(自行修改,多台的情况可不一致)
-
搜索server.rmi.port(298行),新建一个server.rmi.port=1356(和上面一致)
-
搜索server.rmi.ssl.disable,默认为false,新建一个server.rmi.ssl.disable=true(关闭ssl加密传输)
-
保存配置文件
-
首先查看IP地址,然后在jmeter/bin文件夹中打开CMD窗口,输入 jmeter-server.bat -Djava.rmi.server.hostname=输入查看到的IP地址 开启服务
出现Created remote object表示成功启动服务,会显示一个IP地址
用master机器打开CMD窗口telnet 上面显示的IP地址 配置文件中的端口号查看是否能通
例:telnet 192.168.146.95 1356
-
slave 需要关闭防火墙,但是要开放端口
master端:
- 打开配置文件 jmeter.properties ,
- 搜索remote_hosts,注释默认的,修改slave机的IP地址加端口号(例:192.168.146.95:1356,多台的话添加多条的IP地址和端口号)
- 搜索server.rmi.ssl.disable,默认为false,新建一个server.rmi.ssl.disable=true(关闭ssl加密传输)
- 搜索mode=Standrad,在下面新建一行,填入mode=Standrad(用于master采集slave的测试结果数据)
- 保存为之后重启jmeter
远程启动slave端:
点击运行选项,远程启动选项中可以看到配置好的slave端,运行的话直接点击即可运行单台slave,如需运行多台,可点击远程启动所有,或者按快捷键
分布式压测时注意设置的线程 * slave数量 表示最终并发用户,所以设置数据时需要将数据/slave数量填入master线程设置