(附:dubbo向多个zk中心注册消费的地址配置)
背景:
工具:3台Agent机:ABC三个服务器; 1台controller机:ABC任意一台服务器 ;1台服务注册机:D服务器
目的:D注册privater服务,controller机控制Agent机,实现多线程并发消费zk的服务(压测)
一、环境准备:准备dubbo(customer)脚本部署在所有机器上,然后启动目标服务器的zk,完成注册privater
注意:dubbo如果需要在不同服务器上配置zk中心 ,地址格式应如下图
Privater 多注册中心配置,竖号分隔不同注册中心,同一注册中心的多个集群地址用逗号分隔
参考地址:http://blog.csdn.net/daybreak1209/article/details/51762701
Customer IP:端口号?backup= IP:端口号,IP:端口号
(windows+linux均要完成环境部署)
二、下载Jmeter,将Jmeter放在controller 和Agent上(保持Jmeter中jar相同)
1、部署jdk环境(此处略)
参考:windows: http://blog.csdn.net/yx1214442120/article/details/55098380
Linux: http://blog.csdn.net/chenhao0428/article/details/51637759
2、 修改bin目录下jmeter.proerties文件
(1)Agent >修改remote_hosts=主机IP:1099(IP 可以直接使用localhost,端口号可以自定义)
(2)controller>修改remote_hosts=所有Agent的IP:1099(端口号可以自定义) 以逗号间隔
3、 启动Agent上的Jmeter的server
(1) Linux:到bin目录下,运行命令:
./jmeter-server -D java.rmi.server.hostname=(主机IP地址)
(2) Windows:到bin目录下,双击jmeter-server.bat
注意:出现上图启动成功
4、 启动controller机的Jmeter
(1)windows
a、 准备相关请求、观察结果数、聚合报告
b、 启动Agent上的Jmeter(建议先单个启动进行测试) 》》完成
(2)Linux
执行命令:./jmeter -n -t /data/server/test/测试计划.jmx -R IP, IP, IP, -l testResult/re.jtl
所有步骤均通过自己操作验证,如有问题,欢迎交流学习!
5、 问题总结
(1) Windows\linux 中的Jmeter问题,可以查看jmeter-server.log
(2) 防火墙问题(windows与linux混合使用)
当时,jmeter-server启动正常,controller运行没有错误,但是没有请求效果。
然后我查看了jmeter-server.log,发现提示连接不上controller机的Jmeter,然后想起防火墙没关,此点需要注意!
(3) 如何将Agent机中的响应结果返回到controller(windows)
修改controller机的jmeter.Properties文件中的mode为Standard