如何在不同地域的两台web服务器之间均衡负载?一个在东部,另一个在中部。east服务器耗尽(60% cpu和100%内存,以及大量交换),而中央服务器100%空闲。
根据我们的灾难恢复实践,我们需要在两个不同的区域拥有服务器。我们如何均匀地分配负载?谷歌默认使用Geo路由,这对我们来说并不好。谢谢!
发布于 2017-10-17 13:35:43
HTTP负载均衡并不是严格的地理路由。如果系统了解到一个区域过载,它将使流量溢出到下一个区域。
我建议做一个负载测试,然后调优后端服务平衡设置(balancingMode、capacityScalar、maxRatePerInstance、maxUtilization等),以便系统知道它正在使east服务器过载,并将一些流量发送到您的中央服务器。
例如,假设当前入站流量为100 RPS,并且您已配置了balancingMode=UTILIZATION maxUtilization=0.8 (默认值)。因为你的实例只有60%的cpu,它还没有达到最大利用率,所以他们的系统会向它发送100RPS的流量。
现在进行负载测试,发现服务器可以在内存耗尽之前处理80RPS的流量,CPU不是内存密集型应用程序的可靠指标。所以你改成了balancingMode=RATE,maxRatePerinstance=80。然后,系统向east服务器发送高达80RPS的数据,向中心服务器发送20 run的数据,两台服务器都可以正常运行。
https://stackoverflow.com/questions/46700723
复制相似问题