2013-05-30 35 views
3

要求我的應用程序的幫助,這是運行在Windows Server 2003和iis 6.0,這個應用程序總量現在,用戶現在大約每天60,000。而我的所作所爲,使其更快先進的asp.net提高性能

a.SQL服務器2005:

  • 所有查詢我將其轉換爲StoredProcedure。
  • 所有表都有FK上的索引。
  • 大部分來自視圖的select語句。
  • 永遠不要在所有命令中使用*。

,但仍然有死鎖錯誤

B. js文件:

  • 包括所有在一個文件
  • 優化文件

℃。 css文件:

  • 在一個文件中優化

D.asp.net 2.0:

  • 最JSON對象上的默認頁運行通過調用Web方法和 渲染頁面或用戶控件。
  • 我保存在服務器上的所有照片最大尺寸爲20KB。
  • 啓用緩存

E.windows服務器2003:

  • 當我使用Windows性能工具它的80%來自SQL

任何建議,以改善這個性能應用程序

+2

http://codereview.stackexchange.com/這類問題 –

+0

爲您的意見/選擇,請檢查您僅使用LEFT JOIN適用時,當處理兩個大表時,加入INNER JOIN會更快。這是一個小勝,但是當你的優化小勝是剩下的 – We0

+1

對我來說,吃掉80%的SQL並沒有給出任何線索。你必須告訴我們你要專注於真正的問題 - 這裏你真正的問題是什麼 - 你有很多死鎖嗎?你的頁面變慢了嗎?你的數據庫文件很龐大嗎?它的設計問題,還是一個巨大的交通問題? – Aristos

回答

2

這是一個廣泛的問題。有很多方法可以改善性能,下面的鏈接有一些最佳實踐。

http://www.dotnetjalps.com/2009/05/increase-performance-in-aspnet.html

嘗試展鵬螞蟻探查了剖析應用程序,看看那裏的瓶頸。 http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/

對於內存泄漏,請使用dottrace內存分析器並查看您的應用程序如何執行。 http://www.jetbrains.com/profiler/

您還可以通過服務器上的進程管理器檢查性能計數器。 http://msdn.microsoft.com/en-us/library/fxk122b4(v=vs.100).aspx

對於存儲過程,您可以通過direclty執行查詢字符串來測量時間。如果任何存儲過程需要更多的時間,那麼你應該重構該過程。

這裏有幾個可能對你有用的鏈接。

http://www.codeproject.com/Articles/196378/Best-Practices-to-Improve-ASP-NET-Web-Application

http://www.codeproject.com/Articles/23306/10-ASP-NET-Performance-and-Scalability-Secrets

http://msdn.microsoft.com/en-us/library/ff647787.aspx