使用`roundrobin`和`leastconn`的OKD Infra负载均衡不均衡

时间:2019-02-25 19:15:04

标签: kubernetes openshift haproxy openshift-origin

使用openshift v3.10.0+0c4577e-1时,我看到4个VM的负载不均衡,该4个VM托管着所有Pod,这些Pod是一条服务路径的端点。

我已经建立了一个非常简单的测试环境,并且看到了一些对我没有任何意义的行为。

我有一个运行JMeter的物理主机设置,该主机配置为对由一组Pod支持的单个服务路由IP发出请求。这些Pod托管着一个非常轻便的Wordpress网站。为了进行测试,每个吊舱都相同。

pod分为4个VM。所有4个VM都在与JMeter主机分离的单个物理主机上运行。

随着我扩展VM的数量,每增加一个VM就会越来越少。当我从2个虚拟机迁移到3个虚拟机(虚拟机增加50%)时,我只能看到可以处理的请求数量提高了33%,从3个虚拟机迁移到4个虚拟机(虚拟机增加了33%),改进幅度约为18%。我没有期望完美的缩放比例,但是下面的图形对我来说没有意义:

VM Loading

您可以看到第一个VM正在使用100%的可用CPU(8个vCPU),但是之后的每个VM使用的CPU却越来越少。第四台虚拟机降至〜75%。我希望加载会更加紧密。

这些图显示了两个测试,第一个是使用roundrobin策略的测试,第二个是我切换到leastconn

这是负载平衡策略的问题吗?是否有某种方法可以更好地平衡虚拟机之间的请求?

1 个答案:

答案 0 :(得分:0)

我将吊舱划分为更多路线,以免受到“完全加载” VM的限制。我仍然认为该VM内的Pod相对于其他VM而言表现不佳,但至少我不再将性能留在其余VM上了