亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

分享提高ASP.NET Web應用性能的技巧

2024-07-10 13:29:53
字體:
來源:轉載
供稿:網友
這篇文章主要為大家分享提高ASP.NET Web應用性能的技巧和方法,感興趣的朋友可以參考一下
 

在這篇文章中,將介紹一些提高 ASP.NET Web 應用性能的方法和技巧。眾所周知,解決性能問題是一項繁瑣的工作,當出現性能問題,每個人都會歸咎于編寫代碼的開發人員。

那性能問題到底該如何解決?以下是應用系統發布前,作為 .NET 開發人員需要檢查的點。

1.debug=「false」

當創建 ASP.NET Web應用程序,默認設置為「true」。開發過程中,設置為「true」是非常有用多,但在應用程序發布部署時,需將其設置為「false」。

<compilation defaultLanguage="C#" debug="false" targetFramework="4.0" /> 

2.關閉 tracing(追蹤)

tracing 是非??膳碌模阌袥]有忘記關閉它。假如沒用,請確定編輯 web.config 并且關閉它。它將占用大量您的程序資源。

<trace enabled="false" requestLimit=”10” pageoutput=”false” traceMode=”SortByTime” localOnly=”true”> 

3.禁用 session

假如您用不到 session 會話跟蹤請務必禁用它。您可以在每個 asp.net 頁面中設置如下:

<%@ page language="c#" codebehind="webform1.aspx.cs" autoeventwireup="false" inherits="webapplication1.webform1"enablesessionstate="false" %> 

4.使用發布版本部署應用

部署應用程序到生產環境時,要確保使用的發布版本模式,而不是調試模式。如果使用調試模板極容易發生請求超時。部署成發布版本,你將會發現速度有很大的提升。

5.關閉頁面的 View State

View State 主要是在提交以后回顯用的,它只有在頁面中的數據是提交到本頁時才有用。其默認是「true」。如果你沒有使用表單數據回傳,那么可以關閉 View State。

<%@ Page EnableViewState="false" %> 

6.避免使用 Response.Redirect

Redirect(重定向)非常麻煩,它僅用于用于從當前物理服務器開發跳轉到其它服務器。如果只是在本服務器開發內頁面跳轉請使用 Server.Transfer 語法,這樣會減少很多沒有必要的客戶端重定向。

7.運用 StringBuilder 類以及使用 ToString()方法

String 類對象是不可改變的,對于 String 對象的重新賦值在本質上是重新創建了一個 String 對象并將新值賦予該對象,其方法 ToString 對性能的提高并非很顯著。在處理字符串時,最好使用 StringBuilder 類,其 .NET 命名空間是 System.Text。該類并非創建新的對象,而是通過 Append,Remove,Insert 等方法直接對字符串進行操作,通過 ToString 方法返回操作結果。 其定義及操作語句如下所示

int num;   System.Text.StringBuilder str = new System.Text.StringBuilder(); //創建字符串   str.Append(num.ToString()); //添加數值num   Response.Write(str.ToString); //顯示操作結果

8.避免拋出異常

異常會導致速度變慢,并且使得應用程序頁面顯示異常,使得無法進行其他操作??梢允褂?try / catch 使出現的異常記錄到日志文件中。

9.使用 finally 方法回收資源

假如你在應用開發中大量使用其他數據庫連接和訪問文件,請確定在用完后關閉它們。finally 塊是程序中最后被執行,因此在這里面的代碼會確保一定會被執行,關閉代碼一定要在這個開發方法塊中執行。

10.使用客戶端腳本驗證

用客戶端驗證代替服務器開發端驗證。服務器開發端數據驗證將會大量消耗您的服務器開發上的資源,并且會代來大量的頁面數據回傳。

11.使用 Page.IsPostback

請確保不執行過多的回傳代碼。使用 Page.IsPostBack 屬性,以確保只執行頁面初始化邏輯,當一個頁面第一次加載,而不向響應客戶回發。

12.使用分頁

大多數 Web 應用程序數據是以表格形式顯示。分頁有利用應用開發程序效率。每次盡量顯示小部分數據,這樣會加快頁面顯示速度。

13.使用 Ajax 異步調用

使用 Ajax 方法,進行異步調用。

14.刪除未使用的 HttpModules

對于 httpModules,我們可以理解為:建立一個通用的可用被插入任何 Web 應用程序的 HttpApplication 事件鉤子。使用 HttpModule 是可復用的,不需要特定語應用程序代碼的,只需要 web.config 中的一個條目。 在 web.config 文件中,刪除未使用的 HttpModules。

15.避免遞歸函數/嵌套循環

在任何編程語言中都需避免嵌套循環和遞歸函數,以提高性能。

16.不使用不必要的 Server Control

ASP.NET 中,大量的服務器端控件方便了程序開發,但也可能帶來性能的損失,因為用戶每操作一次服務器端控件,就產生一次與服務器端的往返過程。因此,非必要,應當少使用 Server Control。

17.調用多個操作時,請使用多線程

問題出現時,單線程卡在此問題上長時間運行。因此,可以使用多個線程以提高應用程序的響應速度。

18.數據庫的連接和關閉

訪問數據庫資源需要創建連接、打開連接和關閉連接幾個操作。這些過程需要多次與數據庫交換信息以通過身份驗證,比較耗費服務器資源。ASP.NET 中提供了連接池(Connection Pool)改善打開和關閉數據庫對性能的影響。系統將用戶的數據庫連接放在連接池中,需要時取出,關閉時收回連接,等待下一次的連接請求。連接池的大小是有限的,如果在連接池達到最大限度后仍要求創建連接,必然大大影響性能。因此,在建立數據庫連接后只有在真正需要操作時才打開連接,使用完畢后馬上關閉,從而盡量減少數據庫連接打開的時間,避免出現超出連接限制的情況。

19.將 SqlDataReader 類用于快速只進數據游標

SqlDataReader 類提供了一種讀取從 SQL Server 數據庫檢索的只進數據流的方法。如果當創建 ASP.NET 應用程序時出現允許您使用它的情況,則 SqlDataReader 類提供比 DataSet 類更高的性能。情況之所以這樣,是因為 SqlDataReader 使用 SQL Server 的本機網絡數據傳輸格式從數據庫連接直接讀取數據。另外,SqlDataReader 類實現 IEnumerable 接口,該接口也允許您將數據綁定到服務器控件。有關更多信息,請參見 SqlDataReader 類。有關 ASP.NET 如何訪問數據的信息,請參見通過 ASP.NET 訪問數據。

20.高性能的 SQL 語句規則

  • 盡量避免全表掃描
  • 盡量避免在 where 子句中對字段進行 null 值判斷
  • 盡量避免在 where 子句中使用 != 或 <> 操作符
  • 盡量避免在 where 子句中使用 or 來連接條件
  • in 和 not in 也要慎用
  • 不要在 where 子句中的「=」左邊進行函數、算術運算或其他表達式運算
  • Update 語句,如果只更改1、2個字段,不要Update全部字段
  • 對于多張大數據量(這里幾百條就算大了)的表JOIN,要先分頁再JOIN,否則邏輯讀會很高,性能很差
  • 盡可能的使用 varchar/nvarchar 代替 char/nchar  

21.緩存

緩存是一種用空間換取時間的技術,通俗點也就是說把你得到的數據存放在內存中一段時間,在這短時間內服務器不去讀取數據庫、或是真實的數據源,而是讀取你存放在內存中的數據。 緩存是網站性能優化不可缺少的一種數據處理機制,他能有效的緩解數據庫壓力。 ASP.NET 中的緩存主要分為:

  • 頁面緩存
  • 數據源緩存
  • 自定義數據緩存

22.做負載均衡和服務器加成

負載均衡不應該僅僅被看作是實現可擴展性的一種手段。盡管它肯定提高了可擴展性,很多時候它增加了 Web 應用程序的性能,因為請求和用戶都散發著多個服務器。

23.通過 FxCop 做代碼檢查和優化

FxCop 是一個代碼分析工具,它使用基于規則的引擎,來檢查出你代碼中不合規范的部分;你也可以定制自己的規則加入到這個引擎。其中的一些規則是:

  • 避免過多的局部變量
  • 避免使用未調用的私有代碼
  • 避免未實例化的內部類
  • 避免使用未密封的特性
  • 避免進行不必要的強制轉換
  • 以內聯方式初始化引用類型的靜態字段
  • 用 NeutralResourcesLanguageAttribute 標記程序集
  • 將成員標記為 Static 等等。

24.ASP.NET 性能監控工具

這些是用于監視代碼的性能的工具。

  • .NET 內存分析器
  • Red Gate ANTS 性能分析工具
  • Fiddler
  • 性能計數器

以上是一些性能調整的提示。性能調優不是一天兩天的工作,而是一個反反復復的過程。對于網站開發人員來說,在編寫 ASP.NET 應用程序時注意性能問題,養成良好的習慣,提高應用程序性能,至少可以推遲必需的硬件升級,降低網站的成本。



注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国精产品一区一区三区有限在线| 亚洲性夜色噜噜噜7777| 日韩在线播放一区| 欧美日韩成人网| 欧美在线观看视频| 国产午夜精品麻豆| 国语自产精品视频在线看一大j8| 欧美日韩中文字幕在线视频| 一区二区三区精品99久久| 中国日韩欧美久久久久久久久| 国产成人精品免高潮在线观看| 成人激情视频小说免费下载| 亚洲变态欧美另类捆绑| 色yeye香蕉凹凸一区二区av| 久久免费视频观看| 色琪琪综合男人的天堂aⅴ视频| 国产97在线播放| 69久久夜色精品国产7777| 亚洲精品美女久久| 亚洲a一级视频| 最近的2019中文字幕免费一页| 国产成人精品视频| 欧美壮男野外gaytube| 国产日韩欧美一二三区| 精品国产美女在线| 亚洲久久久久久久久久| 日本精品免费观看| 欧美在线视频免费| 亚洲欧美日韩中文在线制服| 亚洲免费av片| 国产成+人+综合+亚洲欧美丁香花| 久久久久久久久久av| 精品久久久香蕉免费精品视频| 精品国产拍在线观看| 亚洲一区二区三区在线免费观看| 久久久久久久久亚洲| 欧美—级a级欧美特级ar全黄| 国产精品黄色影片导航在线观看| 日韩成人激情在线| 色吧影院999| 亚洲欧美日韩成人| 日本电影亚洲天堂| 91精品国产九九九久久久亚洲| xxx欧美精品| 57pao精品| 欧美在线激情视频| 一本色道久久88综合亚洲精品ⅰ| 欧美黑人性猛交| 久久综合色88| 91久久精品国产91性色| 国产精品日日做人人爱| 久久五月天色综合| 日韩人体视频一二区| 97国产一区二区精品久久呦| 91在线网站视频| www日韩欧美| 亚洲精品美女久久| 国产精品视频xxxx| 欧美激情视频网址| 日韩精品高清视频| 欧美夫妻性生活xx| 欧美日产国产成人免费图片| 日韩美女av在线免费观看| 久久亚洲影音av资源网| 国产精品久久久久久超碰| 久久久久久久久爱| 亚洲福利精品在线| 日韩美女视频在线观看| 亚洲一区二区三区四区视频| 久久久久久久国产精品| 亚洲自拍偷拍区| 欧美日韩性视频| 欧美日韩成人黄色| 久久激情视频久久| 亚洲精品久久久久久久久| 国产精品嫩草影院久久久| 在线观看国产成人av片| 久久精品一偷一偷国产| 国产一区二区动漫| 国产精品视频久久久| 精品国产鲁一鲁一区二区张丽| 精品国产一区二区三区久久| 欧美在线xxx| 亚洲女同性videos| 欧洲精品在线视频| 亚洲国产精品久久久久秋霞蜜臀| 亚洲精品美女在线观看| 国产精品网站大全| 亚洲福利精品在线| 亚洲黄色成人网| 成人亚洲激情网| 久久精品成人欧美大片| 亚洲天堂男人的天堂| 国产精品国内视频| 亚洲伊人一本大道中文字幕| 国产成人一区二区三区小说| 亚洲男人天堂视频| 欧美自拍视频在线观看| 国产成人精品在线| 欧美亚洲在线视频| 久久精品国亚洲| 国产97人人超碰caoprom| 欧美亚洲日本黄色| 欧美色视频日本版| 91精品国产乱码久久久久久久久| 精品动漫一区二区| 在线播放亚洲激情| 国产亚洲xxx| xvideos亚洲| 国产精品自拍偷拍视频| 亚洲欧美日本伦理| 91久久久国产精品| 午夜精品久久久久久99热| 色综合天天综合网国产成人网| 日韩在线观看免费| 欧美激情在线视频二区| 久久久国产精彩视频美女艺术照福利| 日韩欧美在线视频| 91久久国产精品91久久性色| 亚洲成人免费网站| 久久久之久亚州精品露出| 中文字幕精品网| 欧洲日本亚洲国产区| 日本免费一区二区三区视频观看| 国产精品久久97| 欧美亚洲成人精品| 97成人在线视频| 欧美xxxx18性欧美| 奇米四色中文综合久久| 91精品国产乱码久久久久久蜜臀| 亚洲韩国欧洲国产日产av| 国产欧美日韩丝袜精品一区| 国产精品免费久久久久影院| 日本亚洲欧洲色| 啊v视频在线一区二区三区| 97久久伊人激情网| 538国产精品一区二区免费视频| xxxxx成人.com| 欧美做爰性生交视频| 中文字幕精品www乱入免费视频| 欧美福利视频在线| 亚洲精品国产拍免费91在线| 欧美美最猛性xxxxxx| 久久国产精品网站| 国产精品久久久av| 亚洲国产精品久久久久秋霞蜜臀| 欧美色图在线视频| 亚洲欧美另类在线观看| 91av免费观看91av精品在线| 国产精品日韩欧美大师| 日本午夜精品理论片a级appf发布| 亚洲在线免费视频| 欧美日韩国产成人高清视频| 高清日韩电视剧大全免费播放在线观看| 国产精品扒开腿做爽爽爽男男| 国产大片精品免费永久看nba| 亚洲精品999| 亚洲国产精品久久久久秋霞蜜臀| 成人免费淫片aa视频免费| 91精品视频免费看| 92国产精品久久久久首页| 91精品国产乱码久久久久久蜜臀| 91精品国产色综合久久不卡98口| 亚洲免费小视频|