翻譯出處:http://www.codeproject.com/KB/aspnet/aspnetPerformance.aspx
1. HTTP 壓縮
HTTP 壓縮通常用於壓縮從服務端返回的頁面內容。它壓縮HTTP請求和響應,這個會是巨大的效能提升。我的項目是基於Window Server 2003開發的,可以參考這篇文章.
2. 讓ViewState失效
ViewState允許頁面狀態保持在用戶端,它不區別於Cookie或者伺服器記憶體。View State儲存資料在一個隱藏欄位中。可以肯定的是,這個是很很強大的特性,但它的缺點使頁面大小和在伺服器中的記憶體增大。
所以,我們要避免使用ViewState,特別是,DataGrid等控制項,ViewState載入所有的表格式資料的狀態。去掉它,可以使頁面的大小縮小。
3. 改變Web.config檔案
a. 用頁面緩衝:
這將在一定的時間段儲存你的頁面,頁面能夠更快得地載入出來。但要記住,如果你的頁面資料經常更新,就不適合使用頁面緩衝。
<caching> <outputCacheSettings> <outputCacheProfiles> <add name="cached" duration="600" varyByParam="none" enabled="true"/> </outputCacheProfiles> </outputCacheSettings> </caching>
b. 從web.config移除不必要的httpModule:
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <remove name="WindowsAuthentication" /> <remove name="PassportAuthentication" /> <remove name="AnonymousIdentification" /> <remove name="UrlAuthorization" /> <remove name="FileAuthorization" />
c. 關閉跟蹤:
<trace enabled="false" pageOutput="false" />
d. 當使用user membership的時候,使profiles儲存自動失效:
<profile enabled="true" automaticSaveEnabled="false" />
e. 設定調試狀態為false:
<compilation debug="false">
4. 提高Cache Dependency:
三種方式的cache dependencies可以使用:
1. 在傳統快取項目的caching dependencies;
2. 在檔案上的caching dependencies;
3. 在SQL上的caching dependecies;
你應該選擇最好的策略適應你的應用程式,這兒有一個在檔案上cache dependency的例子可以參考下。
5. 最佳化CSS樣式表:
清理CSS樣式表是非常重要的,移除沒用的代碼能夠提升頁面載入的效率,在工程中,可以使用工具來壓縮樣式表的大小,可以使用CSS在線壓縮工具來壓縮css代碼的大小。
6. 最佳化Javascript代碼:
可以使用JS在線壓縮工具來最佳化Javascript代碼。
7. JS和CSS檔案的位置:
將CSS檔案盡量放在頁面的頭部,將JS檔案盡量放在頁面的底部。
8. 如果可能,將server.transfer()代替response.redirect()
這樣將更快地載入頁面,因為它只是在Post表單,而不用重新整理整個頁面。
9. 在驗證方面,使用用戶端指令碼:
可以避免postback回傳。