簡體   English   中英

Azure Web Apps非常慢

[英]Azure Web Apps are really slow

我一直在調查我的生產應用程序的緩慢預熱時間,我得到了一些意想不到的結果。

在各種Azure VM上進行測試表明,預熱時間與應用程序服務器性能密切相關(因此它不是外部請求,包括sql),但真正有趣的是與Azure Web Apps和我自己的本地計算機的比較(所有時間都是從大約3次運行的平均值):

VM A0:            >1m
VM A2:            13s
VM D2V2:           6.8s
VM D5V2:           7.8s
Wep App P2:       25s
Web App S2:       26.5s
My local machine:  6.6s

我的本地機器是一台3.3GHz的i5。

即使本地計算機通過Internet連接到同一SQL Azure數據庫,該本地計算機也是最快的,並且該請求包括實體框架的模型檢查

所有測試都使用.NET 4.6.1,這是目前最新的版本。

明顯的結論:

  • 對於不可並行化的作業,我4歲的桌面盒比任何大小的Azure VM都要快。
  • 即使您願意每月花費500美元,Azure Web Apps也可以在土豆上運行。

這看起來很可疑。 還有什么想法可能會發生什么? 或者要測試什么?

在進行一些分析之后編輯:以下所有內容都沒有解釋我的問題,但它仍然是有趣的信息(在另一個A2 VM上測試,在連接分析器時總請求時間為20秒):

  • 58%是jitting。
  • 文件IO阻塞幾乎為零(應用程序之前已經啟動過,所以我猜所有必需的dll部分都在內存緩存中)。
  • <1%是SQL Azure請求。
  • 因此,90%運行時間的其余部分應該是.NET執行或探查器開銷。
  • 探查器本身有很大的開銷,因為請求在沒有它的情況下運行大約只有15秒(我使用了JetBrains dotTrace的試用版,我非常喜歡)
  • 50%的時間是在使用Entity Framework的第一次請求期間,其中80%是jitting
  • 15%是SignalR的第一次使用,幾乎沒有jitting(做一些反思 - 廢話)

幾乎沒有並行化。

最初,當我們部署我們的Azure應用服務 - Web應用程序(托管在Resource Group1中)和我們的Azure SQL數據庫(托管在Resource Group2中)時,應用程序非常慢。 我犯的錯誤是RG1 vand RG2都在兩個不同的位置。 后來,當我們將兩個RG(實際重新創建它們)的位置更改為相同時,WebApps開始順利運行。

謝謝,Prawin

我也有同樣的問題,我通過將我的網站內容(圖片和視頻)移動或復制到Azure Blob存儲來修復。 我們還可以將Azure CDN配置為WebApps,VM,雲服務和自定義源。 通過嘗試Azure CDN,您的網站加載時間將得到改善。

暫無
暫無

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

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