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

首頁 > 學院 > 開發設計 > 正文

優化ASP.NET應用程序性能研究與探討

2019-11-18 16:37:47
字體:
來源:轉載
供稿:網友

網站的性能對于asp.net程序開發人員來說非常重要。一個優秀的網站雖然有美觀的頁面設計,完善的服務功能,但是打開網頁時有長時間的延遲,用戶最終將會無法忍受。尤其對于大型的電子商務網站而言,每秒鐘有數萬用戶同時訪問,沒有良好的網站性能,根本無法滿足龐大的需求。

  ASP.NET作為全新一代的動態網頁生成系統,它在平臺性能方面與原有的ASP相比已有了一個本質的提高。但要在此基礎上開發出專業水準的、符合生產標準的、受用戶歡迎的web應用程序,還需要開發人員從編程的角度在頁面、數據訪問和字符串處理等各方面進行優化處理,以提高網站的總體性能。

  本文將主要探討在ASP.NET中與此相關的幾種進行性能優化的方法及注意問題。

  頁面性能優化

  1、會話狀態的恰當選擇

  HTTP協議是一種無狀態的通信協議,無法記錄和識別來自不同客戶端的請求,但在實際應用中系統卻要維護來自客戶端的不同請求之間的會話狀態信息。ASP.NET通過將會話狀態信息存儲在進程、狀態服務器或SQL Server數據庫中來解決這個問題。

  將會話狀態信息保存在WEB服務器的內存中具有最佳的性能,速度很快,但是卻缺乏會話狀態信息跨越多個服務器的能力。若要在多個WEB服務器之間維護會話信息,可以使用狀態服務器進行存儲,這種方式由于可以將應用程序部署到多臺服務器上而提高了系統的伸縮性和可靠性,但是以降低性能為代價。對于極其重要的會話信息,需要使用SQL Server存儲方式,從而避免丟失重要的會話信息,但由此產生的工作負載比前兩者大得多。

  若不考慮狀態信息的保留和多個服務器共享,應盡量選擇保存在服務器的進程中,從而得到最佳的性能。

  會話狀態信息的存儲方式選擇通過web.config文件:

sessionState
mode="InstateConnectionString="tcp

  2、服務器控件的優化選擇

  2.1 減少不必要的服務器控件

  服務器控件帶來的方便和功能是html控件所不能比擬的。但是每一個服務器控件都需要在服務器端創建相應的對象,是以犧牲服務器端的資源為代價的,過多的使用服務器控件會極大的影響程序性能。

  很多情況下,簡單地使用html標記或數據綁定即能夠實現所需功能。比如<asp:Label>控件,若使用它來顯示靜態信息,則完全可用簡單的標記來實現。如果html控件達不到所要實現的功能,而且在腳本語言如javascript、vbscript也不能實現的情況下,才考慮選擇服務器控件。

  2.2 禁用不必要的狀態視圖

  服務器控件的狀態視圖屬性能夠自動的在頁面往返過程中維護服務器控件的狀態,減少開發者的工作量,但是需要占用大量的服務器內存資源。因此,在不需要服務器控件狀態視圖的情況下,應將其EnableViewState屬性設置為false,如常用的<asp:Lable>和<asp:Button>控件。

  2.3 Page.IsPostBack的運用

  Page.IsPostBack用于記錄頁面是否從客戶端返回,若為false表示初次運行,否則表示從客戶端再次返回該頁面。Page.IsPostBack的合理應用可以避免頁面在往返過程中的一些不必要的操作。在Page_Load函數及一些只需要初始化一次的事件函數中均可以使用該屬性來提高應用程序性能。

void Page_Load(Object o, EventArgs e)
{
 if(! Page.IsPostBack)
 {
  conn=new SqlConnection("server=localhost;uid=sa;pwd=;database=data");
  String sql="select * from student";
  cmd.Fill(ds,"stu");
  mydataGrid.DataBind();
 }
}

  以上代碼將保證只有在首次訪問該頁面時對數據庫進行讀取并綁定。

  2.4 合理使用DataGrid控件

  DataGrid控件帶有最強大的數據顯示功能,還內置了對數據的修改、刪除、添加、分頁等很多功能。如果只需簡單的顯示數據, DataGrid并非最佳選擇。DataGrid控件的分頁功能,數據的存儲方式(存儲在viewstate中)等,雖然讓程序開發者使用方便快捷,但由此產生的性能開銷不容小視。

  DataList控件比DataGrid功能少了很多。但自定義性強了很多。特有的多行數據顯示還是比較方便的。DataGrid能實現的功能,它基本能實現。

  Repeater控件功能最少,但自定義性非常強。由于減少了很多功能,對服務器的性能帶來消耗最小。

  因此,在只需簡單顯示數據列表時,選擇Repeater或DataList控件同樣可以達到目的,而且減輕了性能上的開銷。

  數據庫訪問性能優化

  1、數據庫的連接和關閉

  訪問數據庫資源需要創建連接、打開連接和關閉連接幾個操作。這些過程需要多次與數據庫交換信息以通過身份驗證,比較耗費服務器資源。ASP.NET中提供了連接池(Connection Pool)改善打開和關閉數據庫對性能的影響。系統將用戶的數據庫連接放在連接池中,需要時取出,關閉時收回連接,等待下一次的連接請求。

  連接池的大小是有限的,如果在連接池達到最大限度后仍要求創建連接,必然大大影響性能。因此,在建立數據庫連接后只有在真正需要操作時才打開連接,使用完畢后馬上關閉,從而盡量減少數據庫連接打開的時間,避免出現超出連接限制的情況。

  2、使用存儲過程

  存儲過程是存儲在服務器上的一組預編譯的SQL語句,類似于DOS系統中的批處理文件。存儲過程具有對數據庫立即訪問的功能,信息處理極為迅速。使用存儲過程可以避免對命令的多次編譯,在執行一次后其執行規劃就駐留在高速緩存中,以后需要時只需直接調用緩存中的二進制代碼即可。

  另外,存儲過程在服務器端運行,獨立于ASP.NET程序,便于修改,最重要的是它可以減少數據庫操作語句在網絡中的傳輸。

  3、優化查詢語句

  ASP.NET中ADO連接消耗的資源相當大,SQL語句運行的時間越長,占用系統資源的時間也越長。因此,盡量使用優化過的SQL語句以減少執行時間。比如,不在查詢語句中包含子查詢語句,充分利用索引等。

  字符串操作性能優化

  1、使用值類型的ToString方法

  在連接字符串時,經常使用"+"號直接將數字添加到字符串中。這種方法雖然簡單,也可以得到正確結果,但是由于涉及到不同的數據類型,數字需要通過裝箱操作轉化為引用類型才可以添加到字符串中。但是裝箱操作對性能影響較大,因為在進行這類處理時,將在托管堆中分配一個新的對象,原有的值復制到新創建的對象中。

  使用值類型的ToString方法可以避免裝箱操作,從而提高應用程序性能。

  2、運用StringBuilder類

  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); //顯示操作結果

  ASP.NET應用程序性能測試

  在對ASP.NET應用程序進行性能測試之前,應確保應用程序沒有錯誤,而且功能正確。具體的性能測試可以采用以下工具進行:
Web application Strees Tool (WAS)是Microsoft發布的一個免費測試工具,可以從http://webtool.rte.microsoft.com/上下載。它可以模擬成百上千個用戶同時對web應用程序進行訪問請求,在服務器上形成流量負載,從而達到測試的目的,可以生成平均TTFB、平均TTLB等性能匯總報告。

  Application Center Test (ACT) 是一個測試工具,附帶于Visual Studio.NET的企業版中,是Microsoft正式支持的web應用程序測試工具。它能夠直觀地生成圖表結果,功能比WAS多,但不具備多個客戶機同時測試的能力。

  服務器操作系統"管理工具"中的"性能"計數器,可以對服務器進行監測以了解應用程序性能。

  結論

  對于網站開發人員來說,在編寫ASP.NET應用程序時注意性能問題,養成良好的習慣,提高應用程序性能,至少可以推遲必需的硬件升級,降低網站的成本。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲福利一区| 亚洲第一页中文字幕| 国产成人精品一区二区三区| 上原亚衣av一区二区三区| 久久艹在线视频| 97福利一区二区| 中文字幕av一区二区| 在线播放日韩av| 91免费国产网站| 久久视频在线视频| 91豆花精品一区| 精品久久久在线观看| 91亚洲va在线va天堂va国| 亚洲午夜av电影| 国产视频精品va久久久久久| 久久97久久97精品免视看| 日韩精品免费综合视频在线播放| 国产精自产拍久久久久久蜜| 国产精品私拍pans大尺度在线| 日韩欧美在线第一页| 中文字幕欧美日韩va免费视频| 欧美劲爆第一页| 国产精品视频免费在线| 亚洲精品乱码久久久久久按摩观| 亚洲热线99精品视频| 国产欧亚日韩视频| 粉嫩老牛aⅴ一区二区三区| 一本色道久久88综合亚洲精品ⅰ| 亚洲精品成a人在线观看| 欧美日韩午夜激情| 欧美最猛黑人xxxx黑人猛叫黄| 中文字幕日韩视频| 亚洲天堂网在线观看| 久久精品久久久久| 国内精品一区二区三区| 色综合天天综合网国产成人网| 亚洲精品免费av| 97精品国产aⅴ7777| www欧美日韩| 欧美在线一级视频| 九九久久久久久久久激情| 欧美激情视频网址| 91亚洲一区精品| 狠狠爱在线视频一区| 久久99精品国产99久久6尤物| 51精品在线观看| 日韩av在线一区二区| 国产伦精品免费视频| 国产精品自拍视频| 日韩在线观看免费高清| 最新91在线视频| 疯狂做受xxxx欧美肥白少妇| 国产婷婷成人久久av免费高清| 久久亚洲一区二区三区四区五区高| 久久久精品一区二区三区| 亚洲精品wwwww| 亚洲欧洲日韩国产| 国产精品福利在线观看| 欧美成人久久久| 久久久久久久久久久成人| 国产成+人+综合+亚洲欧美丁香花| 国产精品亚洲自拍| 欧美性猛交xxxx乱大交蜜桃| 日韩av电影院| 色婷婷综合久久久久中文字幕1| 日韩中文字幕视频| 成人免费淫片视频软件| 亚洲美女性生活视频| 亚洲护士老师的毛茸茸最新章节| 欧美性猛交xxxxx水多| 亚洲人午夜精品免费| 91情侣偷在线精品国产| 色噜噜狠狠狠综合曰曰曰| 中文字幕精品www乱入免费视频| 国产免费一区视频观看免费| 欧美精品一区三区| 欧美午夜激情小视频| 亚洲另类图片色| 亚洲欧洲第一视频| 久久成人精品视频| 成人妇女淫片aaaa视频| 亚洲欧美激情另类校园| 久久av中文字幕| 亚洲a级在线观看| 日韩在线一区二区三区免费视频| 亚洲精品欧美日韩| 日本久久久久亚洲中字幕| 美女啪啪无遮挡免费久久网站| 亚洲天堂2020| 韩国欧美亚洲国产| 伊人一区二区三区久久精品| www亚洲精品| 国产区亚洲区欧美区| 久久精品国产2020观看福利| 91精品国产高清久久久久久| 欧美日韩国产123| 美女福利精品视频| 久久久久久这里只有精品| 亚洲精品天天看| 亚洲欧洲一区二区三区在线观看| 精品久久久久久国产| 日韩综合视频在线观看| 日韩av电影在线播放| 亚洲国产精品成人一区二区| 国产成人啪精品视频免费网| 色偷偷9999www| 久久精品夜夜夜夜夜久久| 日韩av快播网址| 欧美成人一区二区三区电影| 亚洲高清一二三区| 国产欧美韩国高清| 日本精品va在线观看| 久久亚洲精品一区二区| 国产精品成人在线| 大量国产精品视频| 欧美性在线观看| 久久久亚洲欧洲日产国码aⅴ| 一个色综合导航| 亚洲人精品午夜在线观看| 久久久久久有精品国产| 国产精品久久久久久久久久新婚| 97超级碰碰碰久久久| 日韩欧美一区二区在线| 国产精品免费观看在线| 热久久99这里有精品| 欧美日韩另类视频| 日本久久久久久久久| 亚洲成人网在线观看| 久久久久国色av免费观看性色| 色香阁99久久精品久久久| 日韩av不卡在线| 91亚洲国产成人精品性色| 亚洲国产精品久久久| 欧美国产高跟鞋裸体秀xxxhd| 欧洲午夜精品久久久| 日韩中文字幕久久| 亚洲a在线观看| 成人免费视频在线观看超级碰| 高清欧美性猛交| 欧美精品第一页在线播放| 久久视频免费在线播放| 91成人精品网站| 69影院欧美专区视频| 91中文在线视频| 国内精品小视频| 亚洲视频免费一区| 成人午夜激情网| 国产日韩欧美在线观看| 欧美一级免费看| 欧美野外猛男的大粗鳮| 日韩精品免费在线观看| 久久中国妇女中文字幕| 91黑丝高跟在线| 中文字幕一区日韩电影| 欧美性极品xxxx娇小| 精品久久久久久久久久| 久久久国产精品免费| 在线观看欧美日韩| 久久天天躁狠狠躁夜夜躁2014| 欧美亚洲在线视频| 91大神福利视频在线| 在线播放日韩精品| 亚洲成人精品久久| 日本精品一区二区三区在线播放视频|