2017-05-02 60 views
0

我們在Azure AppServices上託管ASP.NET MVC5網站。Azure AppServices上的ASP.NET MVC網站性能問題

我們在Azure上有2個不同的本地站點:1個用於測試,1個用於生產。

這兩個實例在不同的Azure計劃中,但在每個實例中考慮的所有服務都在同一個區域(西歐)。

第一個似乎以可接受的方式工作,但我們正在加載第二個頁面上的某些頁面時出現性能問題(有時從15s到+30s的頁面加載時間)。

我們的每一個應用程序實例的組成是:

  • ASP.NET MVC 5(與FormsAuthentication)
  • 的N-層級架構
  • 的EntityFramework 6.1.3
  • ApplicationInsights服務
  • 位於Azure Sql服務中的2個SqlServer數據庫(1個用於業務數據的& 1)

Azure計劃使用AppServices的「基本(小)」和SqlServices的「S0標準(10 DTU)」。 第一個CPU運行5%左右,內存運行58%。第二個DTU運行約3%。

使用AppInsights,我已經看到「控制器中的一切都好」,問題可能來自下面。 我也檢測到一些頁面加載問題呈現一個失敗的Sql依賴項調用(結果代碼207)。

Sql請求響應時間也單獨確定(低於300ms)。

當然,我們已經閱讀了很多關於Azure性能問題的文章,但沒有任何文章對我們有所幫助。

我們真的很感謝您的幫助。 非常感謝!

回答

1

啓用Application Insights中的分析器(與以前生活在https://azureserviceprofiler.com下的東西相同)。它現在在性能刀片下。

壓力測試您的應用程序幾個小時,足以收集大量的ETL痕跡,以便繪製一幅全面的時間花費圖。那麼一個小小的 「跟蹤」 圖標,就可以使用旁邊的控制器:

Profiler

結果是這樣的:

traces

+0

嗨@evilSnobu, 感謝您的快速答覆。 我還沒有在Azure中看到過這個工具,這實際上非常有用。 但是經過24小時的使用後,只有3次操作和300毫秒左右的響應時間呈現「跟蹤圖標」,如您所說。 SSo我目前無法使用這些信息。 你知道如何「強制」這個分析器來收集特定操作的ETL嗎? (或者爲什麼在我的情況下,只有這3頁有圖標,而不是其他操作已經顯示災難性響應時間,因爲探查器已被激活?) – Banov

+1

這是App Insights產品組的問題。嘗試在https://github.com/Microsoft/ApplicationInsights-Home/issues上打開問題,和/或在此處發表評論 - https://docs.microsoft.com/en-us/azure/application-insights/app -insights廓。或者更好的是,從Azure Portal打開一個支持案例,併爲他們提供一個回到這個問題的鏈接。 – evilSnobu

+0

是的,我們已經向Microsoft提交了關於我們問題的支持請求。 再次感謝您的幫助 – Banov