Linux下jmeter分布式测试(基于jmeter5.0,master和slave均属于Linux系统)
0、master和slave机器要在同一网段内
( 用内网ip,比如我的两台测试机都在华为云上面,应该用其内网ip不是用公网ip),
用ifconfig命令查看ip(inet就是内网的ip)
1、master和slave机器都要修改jmeter的bin路径下的jmeter.properties文件
将#server.rmi.ssl.disable=false
修改为server.rmi.ssl.disable=true
2、修改master和slave的/etc/hosts
127.0.0.1 localhost 更改成 your IP Address localhost(此处的ip设置为内网ip即inet)
例子:192.168.1.1 localhost
3、修改master机器jmeter.properties
remote_hosts=127.0.0.1 更改成 remote_hosts=slave‘s IP Address:port(此处的ip设置为内网ip即inet)
例子:remote_hosts=192.168.1.1:1099
4、修改slave机器jmeter-server
RMI_HOST_DEF=-Djava.rmi.server.hostname=slave‘s IP Address
5、脚本(*.jmx)只需存放在master机器上,无需每台slave机器都要存放
6、CSV等数据文件需要拷贝到每台slave机器且路径与master的路径一致
7、端口被占用
lsof -i :1099 查出占用1099端口的pid
kill pid 通过pid杀掉该进程
8、salve端运行jmeter-server启动监听等待master的执行命令,master端运行命令jmeter -n -t adIndex.jmx -l ./fenbushi/fbs.jtl -j ./fenbushi/fbs.log -r
9、注意事项:
①运行第8步骤的命令时,要保持master和slave都在同一个路径下!
②云服务提供商如阿里云华为云等提供的服务器会有安全策略,就是默认情况下,有些端口不会开启,这个去后台开启一下 就好