云服务的Azure负载平衡不工作

kokeuurv  于 2023-01-21  发布在  其他
关注(0)|答案(2)|浏览(152)

我有一个Web应用部署到两个示例上的云服务,大小为A1 v2标准。我的理解是,一旦我部署了多个示例来服务同一个公共终结点,负载平衡应该由Azure自动处理(因为它是一个云服务)。
我RDP到每个示例中。下面是第一个示例:

如您所见,它使用了100%的CPU。
下面是第二个示例:

就坐在那儿!什么都不干!
最糟糕的是,这也扼杀了自动伸缩。平均CPU使用率为50%,所以Azure不会提供任何更多的示例。可能是一件好事,因为他们只是坐在那里什么也不做(拍脸)。

ccrfmcuu

ccrfmcuu1#

在Azure中,云服务可用作负载平衡器,虚拟机应位于同一可用性集中,并应在终结点设置负载平衡器规则负载平衡终结点在公用IP地址与分配给云服务中虚拟机上的服务的本地端口之间具有一对多关系
一个虚拟机的CPU使用率接近100%,另一个虚拟机的CPU使用率为3%。由于Azure负载均衡器,一次会将所有新请求发送到一个虚拟机,并且在LB探测另一个虚拟机的健康状况后(在我的情况下是15秒),LB会将新连接发送到另一个虚拟机,因此一个虚拟机的CPU使用率将高于另一个虚拟机。
以下是我的LB规则:x1c 0d1x关于自动缩放,我们应该检查SCALE的配置。
1.我们应该检查示例范围,如果您只创建2个示例,即使平均CPU使用率高于您的目标,自动扩展也不会扩展到3个示例。
2.我们应检查目标CPU设置。此范围表示整个角色的平均CPU使用率。Windows Azure将添加或删除虚拟机以使你保持在此范围内。如果**平均CPU使用率(5分钟)**高于/低于目标,则自动缩放将添加/删除虚拟机。
以下是我的自动缩放设置:

此外,我们还可以在此处找到自动缩放操作日志

h5qlskok

h5qlskok2#

我正在研究并经历一个与您类似的问题。可扩展的云服务似乎不会立即均匀地分配请求。我确实发现,当等待一段时间后,我可以在应用程序洞察中看到请求实际上正在分配,CPU开始在两个示例上进行拆分和更改。
我刚刚接到微软关于这个问题的电话支持,想了解默认情况下可扩展负载均衡器是如何工作的--他们帮助我了解了用于分发请求的哈希是基于一个5元组哈希规则,该规则检查以下5个元组。
引用他们的电子邮件回复

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

相关问题