国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

改善ASP.NET2.0性能方法研究

2009-04-27 10:03吳麗萍張林霞于廣州
商情 2009年1期
關(guān)鍵詞:控件頁面應(yīng)用程序

吳麗萍 張林霞 于廣州

【摘 要】本文首先簡單介紹了asp.net2.0的概括和特性,然后列舉出幾個(gè)影響asp.net應(yīng)用程序性能的標(biāo)準(zhǔn),最后結(jié)合開發(fā)asp.net2.0應(yīng)用程序的經(jīng)驗(yàn)總結(jié)出了幾條改進(jìn)asp.net2.0應(yīng)用程序性能的方法。

【關(guān)鍵詞】ASP.NET2.0web調(diào)試

一、ASP.NET 2.0新特性

ASP.NET 2.0技術(shù)增加了大量方便、實(shí)用的新特性。ASP.NET 2.0主要提供控件、頁面框架、服務(wù)與APIs等3個(gè)方面的技術(shù)特性。

1.控件在ASP.NET 1.x時(shí)代,由于內(nèi)置服務(wù)器控件數(shù)量有限、功能覆蓋面窄。為了消除這個(gè)技術(shù)軟肋,ASP.NET 2.0做出了突破性改進(jìn)。在ASP.NET 2.0中,新增數(shù)十個(gè)服務(wù)器控件。根據(jù)控件功能特征,可分為:數(shù)據(jù)控件(包括數(shù)據(jù)源控件和數(shù)據(jù)綁定控件)、登錄系列控件、Web部件、站點(diǎn)導(dǎo)航控件和其他控件等。這些服務(wù)器控件對于提高工作效率,降低開發(fā)成本有著重要作用。2.頁面框架在頁面框架方面,ASP.NET 2.0同樣做出了重大改進(jìn),主要體現(xiàn)在以下4項(xiàng)技術(shù)特性:母版頁、主題和皮膚、編譯機(jī)制和本地化。母版頁特性在大型Web站點(diǎn)中應(yīng)用廣泛,它能夠在一定程度上代替框架頁功能,從而迅速建立具有統(tǒng)一布局和外觀的頁面,并且有效降低維護(hù)人員的工作強(qiáng)度。主題和皮膚是ASP.NET 2.0的一項(xiàng)新增功能,使用此功能可以一次性設(shè)置一種類型的服務(wù)器控件外觀樣式。該外觀可方便地應(yīng)用于單個(gè)頁面、整個(gè)Web應(yīng)用程序,甚至整個(gè)服務(wù)器。在應(yīng)用程序編譯方面,ASP.NET 2.0提供了幾種替代方案,從而擴(kuò)大了編譯的選擇范圍,開發(fā)人員可以根據(jù)特定需要進(jìn)行選擇。另外,ASP.NET 2.0在本地化方面也做出了一些改進(jìn)。

3.服務(wù)與APIS這個(gè)部分包括的新特性在ASP.NET 2.0中占有較大比例,主要包括成員資格管理、角色管理、用戶配置、數(shù)據(jù)緩存、配置與管理工具等。利用這些功能,可以快速實(shí)現(xiàn)用戶和角色管理、個(gè)性化用戶配置、數(shù)據(jù)緩存、應(yīng)用程序可視化配置等任務(wù)。以成員資格和角色管理功能為例,在ASP.NET 1.x時(shí)代,實(shí)現(xiàn)這兩項(xiàng)功能是比較繁瑣和困難的;而在ASP.NET 2.0中不僅提供默認(rèn)數(shù)據(jù)庫表,而且只需調(diào)用幾個(gè)簡單的方法,就能夠輕松地實(shí)現(xiàn)成員和角色管理功能。

二、影響ASP.NET應(yīng)用程序性能的度量標(biāo)準(zhǔn)1.執(zhí)行時(shí)間

處理一個(gè)請求所需的時(shí)間,通常按服務(wù)器向客戶端返回的第一個(gè)字節(jié)和最后一個(gè)字節(jié)之間的時(shí)間計(jì)算。執(zhí)行時(shí)間直接影響吞吐量的計(jì)算。

2.響應(yīng)時(shí)間

從發(fā)出請求到服務(wù)器向客戶端返回第一個(gè)字節(jié)之間的時(shí)間長度。對于客戶端用戶,這通常是性能中最直觀的一個(gè)方面。如果應(yīng)用程序響應(yīng)時(shí)間很長,用戶可能會(huì)覺得不耐煩,并轉(zhuǎn)到另一個(gè)站點(diǎn)。應(yīng)用程序的響應(yīng)時(shí)間的改變與吞吐量的速率無關(guān)(甚至成反比)。

3.可縮放性

用于衡量應(yīng)用程序在獲取更多資源(內(nèi)存、處理器或計(jì)算機(jī))時(shí)更好地執(zhí)行的能力。它經(jīng)常按吞吐量相對于處理器數(shù)的更改速率計(jì)算。

4.吞吐量

web應(yīng)用程序在單位時(shí)間之內(nèi)可以處理的請求數(shù),經(jīng)常以每秒請求數(shù)衡量。吞吐量可以根據(jù)應(yīng)用于服務(wù)器的加載(客戶端線程數(shù))而不同,這通常被視為要優(yōu)化的最重要的性能度量。為

了編寫正常且高效執(zhí)行的應(yīng)用程序,務(wù)必要保持這些度量的合理取值范圍。

三、改進(jìn)ASP.ENT應(yīng)用程序的性能

ASP.NET 2.0模型提供了許多內(nèi)置的性能增強(qiáng)功能,尤其是在HTTP請求的處理方面的兩項(xiàng)功能:第一,當(dāng)首次請求ASP.NET頁面時(shí),將動(dòng)態(tài)編譯Page類的實(shí)例。公共語言運(yùn)行時(shí)(CLR)會(huì)將ASP.NET托管頁代碼實(shí)時(shí)編譯為處理服務(wù)器的本機(jī)代碼。第二,當(dāng)為第一個(gè)請求編譯Page類實(shí)例后,就將其緩存到服務(wù)器上。對于隨后對該頁的每個(gè)請求,將執(zhí)行該類緩存的實(shí)例。除非該頁的初始源或它的一個(gè)依賴項(xiàng)發(fā)生更改,否則對Page類的編譯只發(fā)生在最初請求之后,這極大地提高了ASP.NET頁面的訪問速度。但要保證用戶所編寫的應(yīng)用程序能夠同時(shí)處理多個(gè)HTTP請求,從而改善ASP.NET應(yīng)用程序的性能,還需從以下幾個(gè)方面著手來確保所編寫的代碼能夠達(dá)到較高的性能級(jí)別。

1.及時(shí)處理數(shù)據(jù)訪問對象

在給予ASP.NET 2.0的應(yīng)用程序中,如果沒有正確處理數(shù)據(jù)訪問對象,就會(huì)大量消耗的服務(wù)器內(nèi)存。當(dāng)建立一個(gè)數(shù)據(jù)訪問對象時(shí),充分理解這些控件的生命周期,并且能在不需要時(shí)即使進(jìn)行處理是非常必要的,這樣能確保數(shù)據(jù)訪問對象適當(dāng)?shù)乇还芾恚苊夥?wù)器在內(nèi)存占用過多的情況下才進(jìn)行內(nèi)存釋放。

2.合理應(yīng)用IIS應(yīng)用程序池

在典型的應(yīng)用中,當(dāng)處理一個(gè)Web應(yīng)用程序時(shí),這個(gè)Web程序由多個(gè)部分組成。通常有主Web站點(diǎn),一個(gè)或多個(gè)Web服務(wù),或是一個(gè)圖像處理程序。應(yīng)用程序池允許使應(yīng)用程序在各自的單獨(dú)進(jìn)程中運(yùn)行,將我們的應(yīng)用程序的不同組成部分分開,使它們分別運(yùn)行在自己的內(nèi)存空間中。由于每個(gè)處理進(jìn)程的內(nèi)存達(dá)到800-900M時(shí)系統(tǒng)就會(huì)變得很慢,因此,需要應(yīng)用程序分散到不同的處理進(jìn)程中,這樣每個(gè)工作進(jìn)程占有的內(nèi)存就不會(huì)那么大了,這樣會(huì)從某種程度上提高系統(tǒng)運(yùn)行的效率。

3.正確管理ASP.NET狀態(tài)

為了更進(jìn)一步地改善應(yīng)用程序性能,對ASP.NET的不同的狀態(tài)類型有一個(gè)深入的了解是非常必要的。ASP.Net有許多不同的狀態(tài),分別是應(yīng)用程序狀態(tài)、會(huì)話狀態(tài)和profile屬性,這些狀態(tài)都保存在服務(wù)器的內(nèi)存上。所以應(yīng)盡量避免保存太多這三種狀態(tài)的數(shù)據(jù),除非有必要保存它們。例如,如果需要在會(huì)話狀態(tài)保存數(shù)據(jù),就只存需要的數(shù)據(jù),如標(biāo)識(shí)字段或靜態(tài)數(shù)據(jù)頻繁被使用。因此,它們可以保存在會(huì)話狀態(tài)中。

4.清除不需要的CSS和腳本文件

一個(gè)快速和容易的改善應(yīng)用程序性能的方法就是清楚程序中的不需要的CSS和腳本文件。在開發(fā)程序時(shí),在不斷完善系統(tǒng)的過程中,可能會(huì)遺留很多沒用的腳本文件或腳本程序。需要網(wǎng)站使用了一個(gè)單獨(dú)的CSS或腳本文件來滿足整個(gè)網(wǎng)站的需要。這樣做將會(huì)產(chǎn)生大量的數(shù)據(jù)和代碼冗余。如果在網(wǎng)站的代碼中繼續(xù)引用不再使用的CSS或腳本文件,那么在每次加載網(wǎng)頁時(shí)它們都會(huì)進(jìn)行被傳輸,這樣將是對網(wǎng)絡(luò)資源的一種浪費(fèi)。可以通過運(yùn)行一個(gè)Web頁分析器來準(zhǔn)確地知道哪個(gè)頁被轉(zhuǎn)載,哪個(gè)頁裝載的時(shí)間最長。

5.對系統(tǒng)進(jìn)行測試

裝載測試從本質(zhì)上說是發(fā)現(xiàn)系統(tǒng)的性能問題,并測量系統(tǒng)在單位時(shí)間內(nèi)的響應(yīng)次數(shù)。Visual Studio Team系統(tǒng)(VSTS)包括了一個(gè)強(qiáng)大的簡單的工具,用來對Web程序進(jìn)行裝載測試,并提供更有價(jià)值的報(bào)告。使用測試模板可以非常簡單地按著系統(tǒng)所提示的步驟建立一個(gè)測試工程。可建立一個(gè)或多個(gè)Web測試,并為每一個(gè)Web測試配置相應(yīng)的屬性來模擬不同的用戶。Web測試通過模擬的用戶進(jìn)行測試,這將作為裝載測試的一部分。還可以使用性能監(jiān)視器在服務(wù)器上安裝性能計(jì)數(shù)器。使用性能計(jì)數(shù)器監(jiān)測Web服務(wù)器上發(fā)生的一些特殊活動(dòng)數(shù)據(jù),如私有字節(jié)、虛擬字節(jié)以及CPU使用率等。如果在應(yīng)用程序中有內(nèi)存漏洞,那么很容易通過監(jiān)視內(nèi)存來發(fā)現(xiàn)這些漏洞。所得到的結(jié)果將以來于應(yīng)用程序裝載什么而有細(xì)微的差別,但是Web服務(wù)器的內(nèi)存應(yīng)該達(dá)到一個(gè)一致的水平,并保持穩(wěn)定。

四、總結(jié)

上面所提到的幾個(gè)個(gè)用于改善Web性能的方法非??旖?,并不需要更多的開發(fā)經(jīng)驗(yàn)和工作技巧。本文提到的提高ASP.Net性能的策略只是一個(gè)起步,只有通過自己的實(shí)踐,才能找到對每一個(gè)不同項(xiàng)目最有幫助的技巧。然而,在任何一個(gè)開發(fā)旅程中,這些策略可以起一些必要的指導(dǎo)作用。

參考文獻(xiàn):

[1]李應(yīng)偉等.ASP.NET數(shù)據(jù)庫高級(jí)教程.清華大學(xué)出版社,2004,7.

[2]Chris Knowles.ASP.NET XML高級(jí)縞程.清華大學(xué)出版社,2002,12.

[3]三味工作室.SQL Server 2000.人民郵電出版社,2000,11.

[4]曾誠.高性能ASP.NET應(yīng)用程序的探討與研究.湖北大學(xué)學(xué)報(bào)(自然科學(xué)版),2004,26(1):19-22.

[5]于瑞國等.ASP.NET新特性的初步研究[J].電子計(jì)算機(jī),2002,(2):11-14.

(作者單位:廣東海洋大學(xué))

猜你喜歡
控件頁面應(yīng)用程序
使用“填表單”微信小程序 統(tǒng)計(jì)信息很方便
答案
基于.net的用戶定義驗(yàn)證控件的應(yīng)用分析
讓W(xué)ord同時(shí)擁有橫向頁和縱向頁
刪除Win10中自帶的應(yīng)用程序
谷歌禁止加密貨幣應(yīng)用程序
三星電子將開設(shè)應(yīng)用程序下載商店
驅(qū)動(dòng)器頁面文件大小的總數(shù)為何總是07
微軟軟件商店開始接受應(yīng)用程序
利用VF6.0的Timer控件實(shí)現(xiàn)動(dòng)畫效果
神农架林区| 通渭县| 天全县| 宜阳县| 德州市| 莫力| 英德市| 吐鲁番市| 郁南县| 新乐市| 湘潭市| 开江县| 台湾省| 乌苏市| 兴安盟| 乌海市| 瓦房店市| 建昌县| 周宁县| 庆云县| 新巴尔虎右旗| 麻城市| 赤壁市| 金溪县| 绩溪县| 隆化县| 灵川县| 土默特右旗| 鲜城| 临湘市| 嘉义县| 井冈山市| 屏东县| 朝阳市| 阳谷县| 汨罗市| 潜江市| 宁都县| 利津县| 云和县| 新乐市|