簡體   English   中英

實體框架查詢第一次連接和執行需要很長時間

[英]Entity framework query takes long time to connect and execute for the first time

我是asp.net和IIS相對較新的東西,我使用其他技術做了很多應用程序,但從未遇到過這樣的問題。

我們已在Azure上建立了一個實驗室,其中包含所有需要的虛擬機,在計算機(IIS 7)上托管ASP.NET MVC 5.0應用程序,以及托管SQL Server 2014以托管其數據庫的另一台計算機,我們首先使用代碼。

問題是當打開一個列出數據庫中表格記錄的頁面時,這只需要15秒,這是第一次從Chrome瀏覽器或任何其他瀏覽器打開網站時,繼續瀏覽網站所需的時間沒有時間。 離開網站10分鍾左右,然后回來,問題再次發生,只需要15秒鍾一次。

深入研究問題並在對性能進行概要分析后,大部分時間是在應用程序第一次觸及數據庫時花費,例如,一個非常簡單的查詢:

model.Workflows.ToList();

顯然,連接到SQL服務器正占用大部分時間。 第一次15秒是很多時間接受,我從來沒有在任何應用程序中看到過這樣的延遲。

對象圖很小,只有12個表,記錄很少,甚至沒有某些表的記錄,例如,工作流表只包含2個記錄。 關系很復雜,但並不多。

我已經嘗試使用SqlConnection類在沒有實體框架的情況下進行連接,並且第一次也需要4秒,這樣會好得多,但仍然有問題。

對於那些仍然面臨同樣問題的人,我嘗試了很多沒有運氣的解決方案,包括raderick和許多其他資源提供的鏈接。

唯一對我有用的是將整個Windows Server 2008 r2(使用IIS 7.5)更新到Windows Server 2012 r2(使用IIS 8.5)。 看起來它與IIS性能(可能是我的測試實驗室)有關,而不是與實體框架有關。

在Windows Server 2012 r2中的IIS 8.5中有一個非常有用的選項,在第7點(應用程序池暫停)查看此鏈接,在我的情況下,性能大幅提升。

http://www.infragistics.com/community/blogs/brijmishra/archive/2015/08/21/12-tips-to-increase-the-performance-of-asp-net-application-drastically-part-2。 ASPX

我知道這不是第一種選擇解決方案,但在某些情況下可能有所幫助。

暫無
暫無

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

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