[英]Azure Load Balancing of Cloud Service not working
在Azure中,云服务可以用作负载平衡器,VM应该具有相同的Availability set ,并且应在端点处设置负载平衡器规则 。 负载平衡端点在公共IP地址和分配给云服务中虚拟机上的服务的本地端口之间具有一对多关系 。
一台VM的CPU使用率接近100%,另一台为3%。 由于Azure负载平衡器会一次将所有新请求发送到一个VM,并且在LB探测另一个健康状况(在我的情况下是15秒)之后,LB会将新连接发送到另一个VM,因此一个VM的CPU使用率将高于另一个。
这是我的LB规则: 关于自动缩放,我们应该检查SCALE的配置。
1.我们应该检查Instance range ,如果您仅创建2个实例,即使平均CPU使用率高于目标,自动缩放也不会缩放到3个实例。
2.我们应该检查目标CPU设置。 此范围代表整个角色的平均CPU使用率。 Windows Azure将添加或删除虚拟机,以使您保持在此范围内。 并且平均CPU使用率(5分钟)高于/低于目标值,则自动扩展将添加/删除虚拟机。
这是我的自动缩放设置:
我正在研究并解决与您类似的问题。 可扩展的云服务似乎不会立即均匀分布请求。 我确实发现,在等待一段时间后,我可以在应用程序洞察中看到请求实际上正在分发,并且 CPU 开始在两个实例上拆分和更改。
我刚刚接到 MS 的电话支持电话,想了解默认情况下 Scaled Load Balancer 是如何工作的——他们帮助我了解了用于分发请求的 Hash 基于 5 元组 Hash 规则,该规则检查以下内容5个元组。
引自他们的 email 回复
Azure LB will follow the 5 tuples rule to distribute different requests.
If the 5 tuples of the requests are all the same,
Load Balancer will distribute the requests to the same role for further work.
The 5 tuples are:
• Source IP
• Source Port
• Destination IP
• Destination Port
• Protocol Type
更多信息在这里: https://learn.microsoft.com/en-us/azure/load-balancer/distribution-mode-concepts
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.