簡體   English   中英

Azure 雲服務的負載平衡不工作

[英]Azure Load Balancing of Cloud Service not working

我有一個 web 應用程序部署到兩個實例上的雲服務,大小為 A1v2 標准。 我的理解是,一旦我部署了多個實例來為同一個公共端點提供服務,負載平衡應該由 Azure 自動處理(因為它是雲服務)。

我 RDP 進入每個實例。 這是第一個例子: 在此處輸入圖像描述

如您所見,它使用了 100% 的 CPU。

這是第二個例子: 在此處輸入圖像描述

只是坐在那里! 不做一件該死的事!

最糟糕的是,這也會破壞自動縮放。 平均 CPU 使用率為 50%,因此 Azure 不再提供更多實例。 可能是一件好事,因為他們只是坐在那里什么都不做(捂臉)。

在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM