我們能做些什麼才能使asp.net web應用程序的運行速度比以前更快。它需要什麼調整?使asp.net web應用程序運行速度更快的技巧
回答
爲了讓任何應用程序運行得更快,首先要找出它花費的時間,然後讓它花更少的時間在那裏。使用分析器。
分析器簡化了將應用程序分解成小塊並且加速各個塊的過程。如果你買不起探測器,你可以自己做。
例如,你說你的平均響應時間是4-5秒。這是一段很長的時間。這5秒內發生了什麼?這一切都在等待數據庫嗎?您可以嘗試在應用程序外部運行查詢,查看它們需要多長時間。您可以運行SQL Server Profiler在一段時間內記錄數據庫事務,然後通過數據庫調整嚮導運行結果。它可能會對數據庫的索引進行更改。
您可以使用Fiddler或打開頁面跟蹤來查明您的頁面是否太大。追蹤可以告訴你頁面操作的特定階段需要多長時間。也許你需要很長的時間來呈現某些頁面。
此外,你需要看看你的服務器的性能。你使用的CPU太多了嗎?內存太多?你是否花時間處理頁面顛簸,敲開ASP.NET工作進程的頁面內存不足以引入SQL Server頁面,只有當數據庫查詢完成時工作進程需要這些頁面纔會崩潰再次運行?
將問題分解成小塊,然後修復這些小塊。
緩存(包括頁面和數據)以及優化數據訪問可能是在不改變硬件的情況下提高性能的關鍵因素。除此之外,您可以查看集羣/負載平衡以提供更多資源。
ASP.NET的性能調整是一個很大的課題。事實上,爲了給你的問題提供一個全面的答案,我寫了一本關於它的書:Ultra-Fast ASP.NET: Build Ultra-Fast and Ultra-Scalable web sites with ASP.NET and SQL Server。
從高層:
- 儘量減少往返,客戶端和服務器之間,以及服務器和數據庫之間的感知性能
- 焦點
- 最大限度地減少阻塞調用
- 緩存在所有層
- 優化磁盤I/O管理
- 優化瀏覽器對象加載和渲染順序
- 避免使用Ajax,Silverlight和JavaScript的全頁面重載
- 避免同步突發寫入
- 利用監測和儀表
- 瞭解SQL Server如何管理內存
- 有效利用分區的數據層
我的方法很大程度上是規定性的,而不是理論性的。您可以查看亞馬遜上的評論,瞭解我的意思。
加入我的書籍隊列。感謝您鏈接它。 – 2010-01-23 06:57:26
我同意緩存。 ASP.NET確實有很棒的內置緩存機制。
我也建議分析應用程序,就像上面已經推薦的一樣。
這裏是一篇關於一些免費.NET分析器的文章的鏈接,也是付費的。
http://www.devcurry.com/2009/11/free-net-profilers-and-some-paid-ones.html
編輯:你可能想看看這個StackOverflow的線程以及
https://stackoverflow.com/questions/308816/any-good-free-net-profiler
希望這有助於。
這是一個很大的話題,但浮現在腦海中的主要事情:
- 保持ViewState的大小下來
- 較少的回傳。儘可能使用javascript來避免它們。驗證控件是如何工作的一個很好的例子。
- 有一個良好的緩存策略
還有非ASP。專用網的東西,像這樣的:
- 確保您的數據庫查詢不陷入泥淖你失望
- 減少HTTP請求
- 保持靜態資源在單獨使用Cookie的域
- 輪廓你花時間之前優化,這樣你就不會浪費時間來優化錯誤的東西
您也可能會發現這個問題有所幫助:
https://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site
- 1. 尋求工具,技巧,快速學習新應用程序的技巧(從編碼的角度)
- 2. Web應用程序測試技巧
- 3. 超快速刮屏技巧?
- 4. 使Flex 4 Web應用程序加載速度更快
- 5. 可以做什麼技巧讓你的iPad應用程序閃電般快速?
- 6. iOS快速加載圖片的技巧
- 7. 快速構建Drupal模塊的技巧?
- 8. 用於設置Web應用程序表示層的技巧
- 9. Azure的Web應用程序運行速度非常慢
- 10. Web應用程序中的數據庫設計技巧
- 11. 當從服務器運行時,Web應用程序運行速度很慢
- 12. 驗證Web服務器到C#應用程序的技巧
- 13. NetBeans提高開發速度的技巧
- 14. MVC應用程序設計技巧
- 15. ASP.Net MVC Web應用程序未運行
- 16. ASP.NET web應用程序無法運行
- 17. 卡技巧程序
- 18. Java程序技巧
- 19. Nokia S40 Ovi瀏覽器Web應用程序提示和技巧
- 20. 通過Visual Studio性能分析,應用程序運行速度更快
- 21. ASP.net DataReader執行技巧
- 22. 使用FindFirstFile-FindNextFile中的這個技巧加快文件搜索速度?
- 23. Visual Studio - 分析時程序運行速度更快
- 24. 爲什麼儀表C程序運行速度更快?
- 25. cs231n:如何讓程序運行速度更快?
- 26. 分析Web應用程序的速度
- 27. 如何加快ASP.NET應用程序的重新啓動速度?
- 28. 使用pycharm快速運行應用程序
- 29. 快速Web應用程序開發ASP.net與開源平臺
- 30. Jar文件 - 運行速度更快?
什麼類型的應用程序? 你有一個數據庫嗎? 你正在運行計算? 完全主觀的問題.... – 2009-12-31 17:37:19
該應用程序是一個asp.net web應用程序,包含82個網頁,34個報告(包括圖形和文本),DB是sql server 2005.頁面平均響應時間約爲4-5秒。 – HotTester 2009-12-31 18:00:12
感謝您的所有回覆,我非常感謝您的所有建議......我採取了以下解決方案:首先,我通過查詢優化工具優化了所有查詢。其次我增加了託管應用程序的服務器的內存(以前它是512 MB RAM和現在2 GB)。最後,我消除了所有不需要的視圖狀態 - >結果應用程序運行速度非常快,平均響應時間現在爲1-2秒。如果有人有更多的分享,我非常歡迎 – HotTester 2010-01-05 08:16:08