总结出来的一些ASP.NET程序性能优化的注意事项[不断补充]
本文的各個要點,都是從網上大量文章中總結出來。
參考資料:
http://www.cnblogs.com/lxinxuan/archive/2006/11/06/551980.html
?
asp.net程序性能優化總結
——備忘具體技術 細節請查詢
1.????????? 緩存:頁面OutPut緩沖(根據參數VaryByParams,Location、保存到硬盤)、User Control的片斷緩存(VaryByControl=”Con”:針對此控件所在的每個頁面創建單獨的緩存條目)、緩存API、數據緩沖(文件依賴、時間依賴、相對過期依賴)、回調緩存(<asp:Substitution />)。
2.????????? 數據處理方面的優化:
a)????????? 返回大量數據且不做大量處理,返回類型用SqlDataReader,只讀數據訪問不要使用DataSet。
b)???????? 使用存儲過程,好處:1、有助于處理復雜業務。2、可擴展性,數據庫結構改變,易于維護修改。3、減少網絡傳輸時間。4、預編譯,速度比執行Sql語句快很多。
c)????????? 查詢語句優化:SET FORCEPLAN強制Sql Server按表出現順序使用表。用它選擇表聯結順序。
d)???????? 數據庫連接使用完畢立即關閉,使用using自動關閉,比手動關閉哪個優?(待查詢)
e)????????? 優化查詢語句。不在查詢語句中包含子查詢語句,充分利用索引。
f)????????? 對數據進行分頁,按頁碼和每頁條數返回每次請求所需數據。[f、g見9]
g)????????? 返回多個數據集。用SqlCommand對象的ExecuteReader方法返回一個強類型的業務對象,再調用NextResult方法來移動數據集指針來定位數據集,但必須把業務邏輯寫到存儲過程里面
3.????????? 頁面優化:
a)????????? 無特殊要求,使(頁面視圖狀態)EnableViewState=false。如:頁面無需回傳或者每次僅只是呈現。
b)???????? 頁面布局:用FlowLayout比GridLayout(絕對定位,代碼多)好。
c)????????? 盡量使用html控件,能用javascript的就用。數據控件選擇:Repeater>Datalist>DataGrid
4.????????? 字符串操作:”s” + 2.ToString();?使用StringBuilder。
5.????????? 采用 Server.Transfer 語法避免不必要的客戶端重定向。
6.????????? 啟用網絡園藝。
7.????????? 優化web服務器:
a)????????? 僅對需要的應用啟用身份驗證。
b)???????? 考慮對應用程序禁用 AutoEventWireup,需重寫Page.OnLoad(),而不能直接使用Page_Load()
c)????????? 從請求處理管線中移除不用的模塊。Machine.config 文件中 <httpModules> 節點默認為激活,如果在應用程序中不使用會話狀態和輸出緩存,則可以從 <httpModules>列表中移除它們。
8.????????? 關閉ASP.NET的Debug模式
9.????????? 其他額外:(沒用過,不懂) http://dotnet.mblogger.cn/mark_lee/posts/6329.aspx似乎只針對Server 2003。
a)????????? IIS6.0中啟用Gzip壓縮發送數據,要修改IIS6.0的xml配置文件。
b)???????? 用IIS6.0的Kernel Caching
c)????????? 后臺處理。System.Threading命名空間下Timer類。如:提交一個新帖子……檢查,發郵件…
10.?????? ?
11.?????? ?
12.?????? ?
13.?????? ?
14.?????? ?
15.?????? ?
16.?????? ?
17.?????? ?
18.?????? ?
19.?????? ?
20.?????? ?
21.????????
總結自網上。
轉載于:https://www.cnblogs.com/lxinxuan/archive/2007/01/17/622708.html
總結
以上是生活随笔為你收集整理的总结出来的一些ASP.NET程序性能优化的注意事项[不断补充]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 看视频
- 下一篇: asp.net ajax控件工具集 Au