一台物理机部署了两个node-controller进行压测,资源池中配置两个ip时启动失败,单独使用1个都是好的

版本: v2.10.17-lts
为了压测,在全量部署了metersphere之后,又单独找了一台物理机去部署node-controller,且为了避免压测机相互影响,这台物理机上部署了两个node-controller,分配了两个ip,部署完成后两个ip同时加到一个资源池中成功:


但是压测时,选择这个资源池,启动失败,报告页面看不到日志:

物理机上看了下,只动态创建了一个jmeter容器,且容器中jmeter也没有正常启动,只有一个压缩包:
image
将资源池中的两个ip删除一个,只保留一个ip时,能正常压测,怀疑是有什么配置冲突,请教下要怎么排查,日志也没看到有什么信息

ms-jmeter-run.log中的错误:

两个node-controller在一个服务器上冲突了,因为一个node-controller创建了一个JMeter容器后,另一个node-controller又在同一个服务器上创建一个同名的JMeter容器,名字冲突了。
其实不必要在一个服务器上面部署多个node-controller。

我们创建多个node-controller是为了给每个controller网络代理一个ip,这样在压测的时候,不同场景可以自己选ip,互相不干扰,冲突跟压测场景有关吗,我把这两个controller对应的ip分别放到两个不同的资源池中,两个场景各自用一个资源池同时压测,也能压起来,或者不部署多个node-controller要怎么配置

这是什么意思呢?

每个性能测试场景可自主选择ip,多个性能测试共同进行时各自选择不同的ip,避免共用压测机:
image

大佬,请问下这种名称冲突有什么办法避免吗

其实只要在一个服务器上,都是用的同一个压测机,一个服务器上装两个node-controller没有意义的。

  1. 我们的物理机配置比较高,业务方也比较多,希望能在物理机上虚拟出多个压测节点分配给不同的,每个业务-使用自己的压测资源
  2. 另外一种就是,我们有些场景希望是模拟线上的场景,使用多台压测机,验证一些连接建立情况

建议在多个不同的虚拟机上面部署node-controller,避免JMeter容器名称冲突。