所以我幾乎完成了一個小型的網絡應用程序,並且自部署它以來,性能一直相當糟糕。它沒有任何關於圖形的東西,主要是一堆數據網格,它們是通過一些LINQ查詢進行數據綁定的。但它的速度非常緩慢......我傾向於指向主機(ahem ... GD),但我應該在哪裏確定它不是我的代碼?評估我的ASP.NET應用程序的性能?
回答
如果您正在使用WebForms,請關閉網格控件的viewstate(如果僅將它們用於顯示)。在電網控制中保持狀態會導致性能下降。
謝謝我沒有意識到這一點......我會嘗試。你能澄清一下你的意思嗎? VS ...?這些網格也用於編輯。 – PaulBinCT2
謝謝大家!這些是令人敬畏的建議和意見!我會用它們做一些功課並回報! – PaulBinCT2
我的意思是當你沒有編輯。在這種情況下,您可能需要尋找其他性能改進。 Vinay有一些很好的建議。減少網格中的數據的大小,你也可以提供幫助。因此,如果您可以在顯示網格之前將篩選添加到返回網格數據集的查詢中,這將有所幫助。 – KGayda
我知道這不是一個真正的答案,但是當涉及到沒有已知源的性能問題時,應該尋找一個分析器。
搜索查詢ASP.NET profiler
有很多性能測試選項。來自Google的第一個鏈接建議來自MSDN的this "how to"。
根據數據量,特別是如果您在跨實體需要JOIN的查詢時,LINQ可能無法創建性能最高的代碼。我建議使用像EF-Profiler這樣的LINQ分析器來查看正在運行的內容。您可能有N + 1個查詢情況,每個頁面加載有數百個查詢正在運行。
http://hibernatingrhinos.com/products/EFProf
另外,如果您的數據網格加載整個數據集到內存/頁,做過濾客戶端,可能導致性能不佳。一次返回多少行以及頁面上顯示多少行?
有多個連接,我正在加載整個數據集,但在這一點上並不多。也許總共有上百行,每列有6或7列 – PaulBinCT2
JOIN是您正在編碼或依靠LINQ/EF創建的東西嗎?你使用EF的Include()功能嗎? –
有點邁克爾,但沒有使用「包括()」我記得的任何地方 – PaulBinCT2
步履維艱可能是由於多種原因,下面是一個小的待辦事項列表: -
1)檢查使用的開發工具的頁面大小。
2)使用.Net分析器工具來查看特定區域是否導致應用程序的緩慢區域。
3)檢查由linq生成的sql查詢語句,如果需要優化。
4)如果您經常訪問主數據庫或不頻繁更改的數據庫。你可以在這裏使用緩存。
一旦你確定了疼痛區域,你就可以找到足夠的資源在互聯網上,但不知道原因,你不能尋找補救措施。
- 1. PhoneGap應用程序性能評估
- 2. 如何評估Java EE應用程序的性能?
- 3. Asp.Net應用程序性能
- 4. 如何使用Benchmark評估程序的性能
- 5. 評估Android設備上的應用程序性能的好方法
- 6. 提高ASP.NET應用程序的性能
- 7. ASP.NET web應用程序的低性能
- 8. 如何評估我的應用程序設計?
- 9. 評估DOM操作性能
- 10. POI公式評估性能
- 11. 龍捲風性能評估
- 12. 如何評估CUDA性能?
- 13. Shared_Ptr我的應用程序的性能
- 14. 爲什麼我的EditText Resource在我的android應用程序中評估爲null?
- 15. 如何評價我的ASP.NET MVC3 HTML5 Web應用程序的可訪問性?
- 16. 性能評估期間的異常值
- 17. 評估板之間的性能差異
- 18. 評估安裝SQL Server的性能
- 19. 如何評估SQL Server 2014的性能?
- 20. C#中的性能評估器
- 21. 評估軟件架構的性能?
- 22. Azure遠程應用程序:如何評估運行我的應用程序的用戶?
- 23. 增加Asp.net應用程序性能
- 24. Asp.net MVC實時應用程序性能
- 25. ASP.NET:監視應用程序性能
- 26. 在多線程java應用程序中的javascript評估
- 27. ASP.NET應用程序 - 估算時間
- 28. 評估用於Java Web應用程序的primefaces
- 29. 評估功能
- 30. 「評估」 功能
看看下載頁面的大小。提琴手或任何瀏覽器調試工具將顯示此。您很可能下載的數據比您意識到的要多得多,而且緩慢是由帶寬引起的。 – David
你可以在本地運行嗎?你有更好的速度嗎? – logixologist
@logixologist是的,好得多,這就是爲什麼我很想假設它是主機,但我想確定之前,我的手指。 – PaulBinCT2