nGrinder集群指南|nGrinder集群指南 - 玩转压测nGrinder

简单集群指南 nGrinder 3.3中,nGrinder支持“简易”集群模式,允许多控制器在一台机器上运行。因为它们在一台机器上运行,所以不需要为 ${NGRINDER_HOME} 提供网络文件系统。运行中的控制器将与本地 ${NGRINDER_HOME} 一起工作。请遵循以下步骤:
运行H2 TCP服务器
1、下载H2并解压。
2、运行H2 TCP服务器。bin\h2.bat 或者 bin/h2.sh
运行控制器
1、运行控制器指向不同的web(-p)/集群(-clp)/控制器(-cp)端口和区域名称(-r)。如果它们被over-wrapped,控制器就会因为端口冲突而无法运行。

java -jar -XX:MaxPermSize=200m -jar ngrinder-controller-X.X.war -p 8080 -cm easy -clp 10010 -r region1 -cp 9001java -jar -XX:MaxPermSize=200m -jar ngrinder-controller-X.X.war -p 8081 -cm easy -clp 10011 -r region2 -cp 9002java -jar -XX:MaxPermSize=200m -jar ngrinder-controller-X.X.war -p 8082 -cm easy -clp 10012 -r region3 -cp 9003

有关CLI选项,请参阅 控制器配置指南
2、访问其中一个web端口并登录,如: http://localhost:8080/
3、检查区域是否激活,所有区域都已启动。
运行代理
1、您可以下载并运行每个区域的代理。点击下载代理>区域名称,如上图所示。这将下载已经配置到指定区域的代理。
2、在单独的机器上解压
3、然后运行 run_agent.sh -o 或者 run_agent.bat -o
4、如果您想在一台机器上运行多个代理,请参阅 代理配置指南
高级集群指南 从3.1版本开始就支持此特性。
  • 下面解释了NFS和Cubrid的高级集群配置。
  • 如果您想不费多大力气就运行集群,请参考 简单集群指南
如果您不了解nGrinder集群,请参考以下 集群架构 如何设置nGrinder集群模式。所有的nGrinder控制器都应该在集群模式下使用相同的DB和文件系统。首先,我们应该在NFS上创建一个共享文件夹,并让所有控制器将其指向${NGRINDER_HOME}。和编辑${NGRINDER_HOME}/system.conf如下:
# 如果您想启用ngrinder控制器集群。下面请启用。 ngrinder.cluster.mode=true # 控制器ip列表 ngrinder.cluster.uris=xx.xx.xx.xx; xx.xx.xx.xx # 缓存集群侦听器端口。 ngrinder.cluster.listener.port=40003

下一步是创建每个控制器的特定信息。${NGRINDER_EX_HOME}/system-ex.conf的使用与${NGRINDER_HOME}不同,${NGRINDER_EX_HOME}不是nGrinder自动创建的。因此,您应该使它在本地文件系统中不被其他控制器共享。创建${NGRINDER_EX_HOME}/system-ex.conf文件,并在此处指定区域名称。读取此配置的控制器将充当指定的区域控制器。
# 这个控制器的区域设置。 # 在集群模式下运行nGrinder时,${NGRINDER_HOME}应由其他控制器共享。 # 我们希望通过在NFS上运行${NGRINDER_HOME}来实现这一点。 # 然而,区域设置不能设置在${NGRINDER_HOME}上,因为集群中的每个控制器都必须有自己的配置。 # 因此,nGrinder支持多一个配置存储文件夹${NGRINDER_EX_HOME} # 请配置下面的文件 ${NGRINDER_EX_HOME}(默认 ${user.home}/.ngrinder_ex)/system-ex.conf ngrinder.cluster.region=Beijing

完成此配置后,只需重新启动所有nGrinder控制器并再次登录。我们会在标题栏看到这个图标!
nGrinder集群指南|nGrinder集群指南 - 玩转压测nGrinder
文章图片
集群图标 如果您想将L4或负载均衡器放在所有控制器前面,您应该将其设置为粘性会话,以便每个客户机只连接一个控制器。否则,用户可以在访问差值控制器时再次登录。
在控制器配置之后,还应该将区域名称设置为所有代理。我们应该在每个代理中设置连接控制器IP。现在有几个控制器。因此,您应该根据您希望此代理服务的区域选择其中之一。您不仅需要添加连接控制器IP,还需要添加此控制器处理的区域名称。
agent.console.ip=controller ip agent.console.port=controller port agent.region=controller region name

如果这个代理是用户代理,它应该是:
agent.console.ip=controller ip agent.console.port=controller port agent.region={controller region name}owned{userID}

【nGrinder集群指南|nGrinder集群指南 - 玩转压测nGrinder】更多内容请查看: 压力测试平台(nGrinder)入门到精通教程

    推荐阅读