如何在不同地区的两台Web服务器之间平均分配负载?一个在东部,另一个在中央..东部服务器耗尽(60%cpu& 100%内存,并且重重交换),而中央服务器100%空闲。
根据我们的DR实践,我们需要在两个不同的区域中安装服务器。我们如何平均分配负载?谷歌默认使用地理路由,这对我们不利。谢谢!
答案 0 :(得分:1)
HTTP负载平衡不是严格的地理路由。如果系统理解一个区域过载,则会将流量溢出到下一个区域。
我建议进行负载测试,然后调整后端服务平衡设置(balancingMode,capacityScalar,maxRatePerInstance,maxUtilization等),以便系统知道它正在使东服务器过载并向中央服务器发送一些流量。
作为一个有效的例子,我们可以说目前有100 RPS的入站流量,并且你已经配置了balancingMode = UTILIZATION maxUtilization = 0.8(默认值)。因为你的实例只有60%的cpu,所以它没有达到最大利用率,所以他们系统发送所有100RPS的流量。
现在进行负载测试,发现服务器可以在内存不足之前处理80RPS的流量,并且CPU不是内存密集型应用程序的可靠指标。所以你改为balancingMode = RATE,maxRatePerinstance = 80。系统然后向东服务器发送高达80RPS,向中央发送高达20RPS,两个服务器都可以充分运行。