簡體   English   中英

為什么Windows Azure在Thread.Sleep()時不實現負載平衡?

[英]Why do Windows Azure not load balance while Thread.Sleep()?

我正在使用運行一個MVC網站的Windows Azure模擬器進行操作,該模擬器具有一個在返回之前調用Thread.Sleep(5000)的單一控制器方法。

在客戶端上,我運行一個循環,該循環每1000毫秒向控制器發送一個POST請求,並從服務器接收帶有RoleEnvironment.CurrentRoleInstance.Id的答復,並將其打印在屏幕上。

我有4個MVC輔助角色正在運行的實例。

我知道該連接:keep-alive HTTP標頭可以阻止瀏覽器向其他實例發出請求,因為現有連接已打開。

但是,即使在多個瀏覽器窗口中加載我的網站時,它仍在等待Thread.Sleep()時掛起,然后(大多數情況下)繼續從同一實例獲取回復。

為什么Azure的負載平衡器不將后續請求發送到不忙的輔助角色實例? 我需要手動將其標記為忙嗎?

您提到使用模擬器,該模擬器不能像Azure真實負載均衡器那樣處理負載均衡。 有關差異的詳細信息,請參見這篇文章 我不知道您的情況到底是怎么回事,但是...我建議您在Azure中嘗試一下,看看您是否達到了預期的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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