jmeter分布式配置,初步尝试
公司需要压测,尝试搭建下分布式压测环境
windows环境下相关配置
两台电脑(windows)一台作为客户端一台作为服务端(被控制)
jmeter4.0,jdk1.8。客户端和服务端环境都装一样
脚本都放在客户端,文件需要客户端和服务端都放
主要在于配置文件的配置,jmeter.properties
客户端配置
server.rmi.localport=1099 # 远程端口
remote_hosts = 192.168.1.223,192.168.1.48 # 远程地址
server.rmi.ssl.disable=true
mode=Standard
服务端配置
remote_hosts=localhost
server_port=1099
server.rmi.localport=1099
server.rmi.ssl.disable=true
端口占用啥的另行解决
然后关闭不必要的网卡和防火墙就可以了
服务端启动jmeter-server文件,客户端启动jmeter文件,客户端中就可以控制了
补充,我开启防火墙之后也是好的,忘记上次使用时候是否配置过例外了。
Linux环境下配置
jmeter安装配置我前面已经弄好了,只需要修改下配置文件
remote_hosts=localhost
server_port=1099
server.rmi.localport=1099
server.rmi.ssl.disable=true
然后启动jmeter-server,由于这里用的docker容器(容器本身ip和宿主机不是一个网段且没有映射宿主机端口),所以重新创建镜像设置端口映射了,且执行的时候需要写宿主机的ip,例子如下
./jmeter-server -Djava.rmi.server.hostname=192.168.1.223
问题补充
远程执行报错:java.net.UnknownHostException:
勾选了测试计划中的,run thread groups consecutively选项解决了和这个问题。
由于我以前执行没这个问题的,我对比了两次脚本差异,发现这次的增加了仅一次控制器,禁用之后不勾选顺序执行选项也可以正常执行。重启jmeter之后(未勾选顺序执行),使用仅一次控制器也没出现这个错误了。具体原因我也不清楚,记录下