亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ASP.NET網(wǎng)站的系統(tǒng)架構(gòu)和性能優(yōu)化的探討

        2015-01-29 02:57:34吳小欣
        電子設(shè)計工程 2015年9期
        關(guān)鍵詞:頁面數(shù)據(jù)庫優(yōu)化

        吳小欣

        (91550部隊 遼寧 大連 116023)

        ASP.NET技術(shù)經(jīng)過不斷的發(fā)展,逐漸趨于成熟,在微軟.NET平臺上使用Visual Studio工具開發(fā)的ASP.NET,門戶網(wǎng)站為越來越多的企業(yè)使用,能夠獲得比較完善的功能和美觀的網(wǎng)頁,但是最重要的還是能夠?qū)Υ罅坑脩舻恼埱罂焖夙憫绕涫谴笮推髽I(yè)的門戶網(wǎng)站點擊量非常高,對網(wǎng)站的運維工作帶來了很大的困難,網(wǎng)站想要獲得較高的相應速度,就需要對網(wǎng)站的系統(tǒng)架構(gòu)和性能進行優(yōu)化,才能提高滿足用戶對訪問速度的要求。

        1 ASP.NET優(yōu)化思路

        系統(tǒng)架構(gòu)是系統(tǒng)在獨立邏輯層中對功能部分的垂直分解,邏輯層能夠和相鄰的邏輯層進行數(shù)據(jù)通訊,對于ASP.NET網(wǎng)站來說,三層結(jié)構(gòu)是最常見的結(jié)構(gòu)形式:

        1)表示層 負責實現(xiàn)用戶和網(wǎng)站直接的交互,動態(tài)Web頁面是最常見的形式。

        2)業(yè)務層 采集表示層獲得的用戶輸入數(shù)據(jù),進行處理并調(diào)用數(shù)據(jù)層,將業(yè)務結(jié)果反饋給表示層[2]。

        3)數(shù)據(jù)層 主要用于進行數(shù)據(jù)保存和系統(tǒng)維護。

        三層結(jié)構(gòu)是一種最常見的網(wǎng)絡系統(tǒng)架構(gòu)形式,有著較高的性能和靈活性,維護方便,可拓展性強,其數(shù)據(jù)請求過程如圖1所示。

        圖1 ASP.NET數(shù)據(jù)請求流程Fig.1 ASP.NET data request process

        網(wǎng)站的性能優(yōu)化主要目標是把程序瀏覽器以及服務器的數(shù)據(jù)處理優(yōu)勢充分開發(fā)出來,降低客戶端和服務器端口之間的數(shù)據(jù)量,降低連接次數(shù)和時間,將客戶端和Web服務器的處理任務合理的分配,提高ASP.NET應用程序的性能。對于企業(yè)應用的門戶網(wǎng)站,多采用分布式多層架構(gòu),通過分布結(jié)構(gòu)形成集群服務,實現(xiàn)載荷的均衡分布,提高網(wǎng)站的整體運行性能,并保證運行穩(wěn)定性。所以ASP.NET網(wǎng)站的系統(tǒng)架構(gòu)和性能優(yōu)化應該從系統(tǒng)架構(gòu)、網(wǎng)頁頁面優(yōu)化、業(yè)務邏輯調(diào)整、數(shù)據(jù)訪問和緩存技術(shù)等方面著手開展[3]。

        2 系統(tǒng)架構(gòu)優(yōu)化

        互聯(lián)網(wǎng)規(guī)模不斷增加,用戶群數(shù)量迅速膨脹,Web2.0逐漸推廣,對網(wǎng)站性能和擴展性的要求更高,網(wǎng)站高度并發(fā)性能也越來越得到重視,需要采用必要的措施進行網(wǎng)站系統(tǒng)架構(gòu)優(yōu)化。

        圖9為相位平均過程中參與每個相位角平均的流場個數(shù)。從圖9中可看出,在8 000個瞬態(tài)場中,參與這8個相位角平均的流場的數(shù)量基本接近,為80~100個。

        2.1 分離Web與DB服務器

        Web與DB服務器會產(chǎn)生較大的處理器和磁盤I/O占用,分離兩個服務器能夠降低單一服務器的荷載壓力,而且后期系統(tǒng)拓展也比較方便。

        2.2 拆分數(shù)據(jù)表

        網(wǎng)站在運行過程中會產(chǎn)生很多數(shù)據(jù)量非常大的表格,歷史數(shù)據(jù)量很高的表格在調(diào)用時會產(chǎn)生較大的帶寬占用,為此,可將數(shù)據(jù)量大的表格進行適當拆分,通過索引表或者分組進行關(guān)聯(lián),能夠顯著提高數(shù)據(jù)查詢速度,獲得更高的網(wǎng)站整體性能,同時減少了數(shù)據(jù)處理對現(xiàn)有運行數(shù)據(jù)庫的影響[4]。

        2.3 分離式圖片服務器

        在Web服務器中,圖片是最消耗資源的數(shù)據(jù)形式,無論是為了方便管理還是為了提高網(wǎng)站性能,都應該對圖片服務器進行分離處理,通過布置獨立服務器,實現(xiàn)網(wǎng)絡頁面和圖片之間的分離。通過這種分離結(jié)構(gòu),可以減少圖片加載對整個頁面性能的影響,并且降低了服務器的載荷,系統(tǒng)因為圖片問題產(chǎn)生的崩潰風險也大大下降,同時對頁面服務器和圖片服務器進行分別優(yōu)化,采用針對性的配置方案,能夠進一步提高系統(tǒng)的執(zhí)行效率。

        2.4 讀寫分離

        對數(shù)據(jù)進行同時讀寫是比較困難的,效率很低,影響頁面的響應速度,為此,需要進行相應的調(diào)整。根據(jù)讀寫壓力實際情況,通過分別建立兩套服務器,分別負責數(shù)據(jù)的讀和寫,負責寫操作的服務器可定時將服務器數(shù)據(jù)傳輸給讀操作服務器,通過這種形式能夠?qū)崿F(xiàn)服務器任務量的均衡,并為讀服務器提供更豐富的資源,而且對短時間過載的適應性更強,不會在短時間突發(fā)事件影響下直接崩潰,但是可能會出現(xiàn)系統(tǒng)整體運行效率下降[5]。

        2.5 業(yè)務層調(diào)整

        業(yè)務層集中完成業(yè)務邏輯,是性能優(yōu)化比較關(guān)鍵的位置,常見的優(yōu)化措施主要有數(shù)據(jù)緩存、SQL混存依賴和用戶自定義控件等措施。

        1)數(shù)據(jù)緩存和SQL緩存依賴 合理利用緩存能夠顯著提高網(wǎng)站性能。通過ASP.NET配合SQL Server 2005,借助數(shù)據(jù)緩存技術(shù)和緩存依賴技術(shù)結(jié)合,添加在緩存中的任何項目都能夠直接被其他頁面或者控件訪問,數(shù)據(jù)的共享性更強。一些數(shù)據(jù)讀寫十分頻繁,將其存放在數(shù)據(jù)緩存中,不同頁面實現(xiàn)數(shù)據(jù)共享,能夠有效降低和數(shù)據(jù)庫之間的連接次數(shù),顯著降低系統(tǒng)響應時間,減少對服務器資源的消耗,頁面穩(wěn)定性更高。如果緩存數(shù)據(jù)需要數(shù)據(jù)庫數(shù)據(jù)提供,可以使用SQL數(shù)據(jù)緩存依賴技術(shù)數(shù)據(jù)庫中數(shù)據(jù)出現(xiàn)變化,可自動將新數(shù)據(jù)加載到數(shù)據(jù)緩存中。

        2)自定義控件使用用戶系定義控件可以明顯提高軟件組件的重復利用效率,軟件開發(fā)和生產(chǎn)效率更高,而且能夠進一步提升系統(tǒng)性能。對于一些有多個局部需要更新的大頁面,定義大頁面單獨刷新或者更新的部分為用戶自定義控件,需要更新則由服務器通過更新控件數(shù)據(jù)就能夠完成,進一步降低服務器資源消耗和帶寬占用[6]。典型自定義控件結(jié)構(gòu)如圖2所示。

        圖2 自定義控件結(jié)構(gòu)Fig.2 Custom control structure

        3)分辨回傳事件 通過Page類IsPostBack屬性判斷是否為回傳事件,確定為回傳事件之后,就無需對頁面控件以及數(shù)據(jù)進行重新加載,能夠進一步降低網(wǎng)絡帶寬的占用和服務器資源消耗。

        4)減少數(shù)據(jù)庫調(diào)用和服務器資源消耗

        ①頁面輸出緩存 頁面輸出緩存和數(shù)據(jù)緩存有著明顯的不同,頁面緩存直接緩存整個頁面的內(nèi)容,當用戶下一次請求頁面內(nèi)容時直接從緩存中調(diào)用,無需再次進行加載,除了緩存整個頁面之外,還有帶參數(shù)頁面緩存和部分頁面緩存等更深層優(yōu)化。

        ②使用靜態(tài)頁面 使用頁面緩存可以減少頁面加載工作量,除了使用頁面緩存之外,通過動態(tài)Web頁面生成靜態(tài)HTML頁面同樣能夠加快頁面的相應速度,特別是訪問量巨大的網(wǎng)站首頁,很多部分需要進行數(shù)據(jù)庫數(shù)據(jù)讀取,并且需要進行一定的邏輯運算,使用HTML靜態(tài)頁面代替動態(tài)頁面能夠減少數(shù)據(jù)庫數(shù)據(jù)讀取量和邏輯運算工作量,頁面生成速度更快。

        3 性能優(yōu)化

        3.1 頁面優(yōu)化

        ASP.NET網(wǎng)頁有窗體文件和隱藏代碼兩部分,前者使用HTML代碼生成,為用戶提供交互界面,隱藏代碼主要是C語言等代碼,負責事件邏輯處理,頁面表示層的優(yōu)化需要從HTML頁面優(yōu)化和C#語言代碼兩部分同時進行。

        1)HTML頁面優(yōu)化 為了提高頁面的性能,需要盡量減少HTTP的請求數(shù),可以合并JS、CSS文件,合并框架圖片或者變動量小的圖片,切割CSS背景用于渲染,優(yōu)化本地Cache緩存JS/CSS/Image。在盡量控制對服務器的請求次數(shù)的同時還應當減少請求的文件數(shù)據(jù)量大小,減少對網(wǎng)絡帶寬過大的占用,刪除JS文件中的空白換行以及注釋,對于采用(X)HTML+CSS方式構(gòu)建的網(wǎng)站,通過借助服務端的GZIP工具進行JS/CSS文件壓縮,也能夠?qū)崿F(xiàn)頁面的優(yōu)化。

        一些實用頁面技巧同樣能夠起到明顯的作用,如保持同一URL大小一致,標識明確,盡量使用文字友情鏈接減少圖片數(shù)量或者降低圖片質(zhì)量,都能夠顯著提高頁面性能。

        2)提高C#編碼效率 使用foreach代替for,foreach的執(zhí)行效率遠高于for,減少Arraylist的使用量,使用自定義集合類型或者泛型代替,減少拆箱或者封箱,減少運算量,如果需要存儲的數(shù)據(jù)量就較少時可以使用Hash Table代替String Dictionary、Nam Vale Collection等字典集合類型,避免將字符封裝在雙引號中,能夠有效節(jié)省資源,提高頁面性能。避免循環(huán)體內(nèi)初始變量,不使用Exception控制程序流程,防止濫用反射這種浪費性能的操作[7]。

        3.2 邏輯層優(yōu)化

        業(yè)務邏輯層是數(shù)據(jù)處理最高層,主要負責進行上下交互數(shù)據(jù)邏輯處理,完成系統(tǒng)業(yè)務。

        業(yè)務邏輯層是類文件的集合,為表示層提供數(shù)據(jù)調(diào)用接口,同時方位數(shù)據(jù)層,對業(yè)務邏輯層的優(yōu)化主要通過業(yè)務邏輯控制策略優(yōu)化來開展。

        1)盡量使用靜態(tài)HTML頁面 ASP.NET頁面程序可以進行頁面信息溝通,非常便捷,便于進行數(shù)據(jù)庫內(nèi)容的存取和高鞥改,對于論壇和留言墻頁面非常適用,但是頁面程序需要服務器端執(zhí)行數(shù)據(jù)處理或者數(shù)據(jù)查詢操作,并生成HTML頁面并發(fā)送給表示層,占用較多的服務器資源,如果頁面程序過多,會占用較多的服務器資源,尤其是在一些并發(fā)量很大的網(wǎng)頁上過多使用頁面程序會怎加服務器載荷,可能會造成服務器奔潰。,所以,盡量使用效率最高、消耗最小的HTML頁面,減少對數(shù)據(jù)庫的大量訪問,降低服務器荷載,提高網(wǎng)站性能。

        2)減少不必要回送操作積極使用Page_Load事件和Page.IsPostBack屬性。HTTP靜態(tài)連接在數(shù)據(jù)傳輸完畢之后會直接斷開瀏覽器和服務器,在用戶有新動作時再重新連接,執(zhí)行新的操作,重新連接頁面之后響應Page_Load事件通過檢查Page.IsPostBack屬性,可降低頁面重新加載次數(shù),加快加載速度。

        3)減少服務器控件使用量ASP.NET中有著標準的完整的Server Control控件和HTML控件,相比之下,服務器控件明顯有著比HTML控件更高的靈活性,但是同樣會造成更多的服務器資源消耗,所以在設(shè)計過程中在保證網(wǎng)頁功能的同時應該盡量控制服務器控件的使用數(shù)量,減少對服務器資源的消耗。

        4)及時關(guān)閉不必要的Session狀態(tài) ASP.NET使用Session在客戶端上保存用戶授權(quán)相關(guān)信息,提供了Sessinon之后調(diào)用頁面之前會首先調(diào)查頁面的Session狀態(tài),會對頁面的執(zhí)行性能產(chǎn)生影響。所以如果是和客戶授權(quán)無關(guān)的頁面,可以關(guān)閉Session狀態(tài),在HTML代碼中添加語句就可以實現(xiàn)。

        3.3 數(shù)據(jù)層優(yōu)化

        1)選擇適用.NET數(shù)據(jù)庫提供程序 SQLClient的驅(qū)動程序在不經(jīng)過OLEDB層協(xié)議轉(zhuǎn)換的情況下就能夠提供數(shù)據(jù)庫支持,當前針對特定數(shù)據(jù)庫都有著相應的.NET數(shù)據(jù)庫,如Oracle.NET等,使用合適的數(shù)據(jù)庫提供程序,能夠提高數(shù)據(jù)調(diào)用的效率。

        2)正確使用連接池 對數(shù)據(jù)庫進行訪問需要不斷創(chuàng)建、打開、關(guān)閉數(shù)據(jù)連接,會消耗很多服務器資源,使用連接池技術(shù)能夠?qū)?shù)據(jù)庫數(shù)據(jù)連接進行優(yōu)化,提高數(shù)據(jù)庫打開和關(guān)閉性能,使用連接池應該本著盡量晚打開,盡早關(guān)閉的原則進行設(shè)置,關(guān)閉時要能夠關(guān)閉全部連接期對象,保證數(shù)據(jù)連接正常,防止出現(xiàn)無用連接。

        3)合理使用數(shù)據(jù)庫存儲過程 存儲過程是服務器上存儲的一組預編譯SQL語句,將其編譯為可執(zhí)行計劃緩存在數(shù)據(jù)庫中,防止重復解析,節(jié)約服務器加載時間。在服務器上存儲過程能夠降低對網(wǎng)絡帶寬的占用,節(jié)省了執(zhí)行時間,在服務器上運行的存儲過程獨立于ASP.NET,方便日后的拓展和更新,并且避免了SQL的注入攻擊。

        4)SQL命令優(yōu)化 SQL語句的解析工作量很大,如果提高SQL語句質(zhì)量不高,或者有邏輯錯誤,會產(chǎn)生額外的資源和時間浪費,為此,需要對SQL語句進行適當?shù)膬?yōu)化,提高SQL的運行效率[8]。

        字段提取應該盡量避免使用select語句,使用exists代替,并注意Where子句的語句順序,編寫SQL時應該減小查詢范圍,減少服務器端Order By語句使用量,使用客戶端的Dataset中的順序操作代替。

        3.4 系統(tǒng)緩存優(yōu)化

        傳統(tǒng)緩存把重復率高的數(shù)據(jù)防治在Application或者Session中,頁面輸出緩存則保存ASP.NET頁面內(nèi)容在服務器內(nèi)存中,在緩存數(shù)據(jù)過期之前,系統(tǒng)內(nèi)存輸出數(shù)據(jù),緩存內(nèi)容直接發(fā)送給用戶,無需進行再次頁面處理。頁面輸出緩存對于一些更新頻率不高,但是編譯工作量較大的網(wǎng)頁來說能夠保持較高的性能,而且編譯語句很短。頁面局部緩存將頁面的局部緩存在內(nèi)存中,便于快速響應。頁面其他位置則為動態(tài)內(nèi)容,有控件緩存和替換后緩存兩種方式,分別通過User Control控件和Substitution控件實現(xiàn)。數(shù)據(jù)緩存通過編程緩存任何對象,使用System.Web.Cacheing命名中間Cache實現(xiàn)。

        4 結(jié)束語

        從結(jié)構(gòu)架構(gòu)優(yōu)化、頁面優(yōu)化、邏輯層優(yōu)化、數(shù)據(jù)層優(yōu)化、系統(tǒng)緩存優(yōu)化等方面入手對ASP.NET網(wǎng)站系統(tǒng)架構(gòu)以及性能優(yōu)化進行了討論,通過大量細節(jié)層面的優(yōu)化措施,顯著提高了網(wǎng)站性能和承受能力,ASP.NET網(wǎng)站的優(yōu)化是長期細致的工程,需要工作人員在實際工作中不斷摸索。

        [1]張英剛.ASP.NET平臺網(wǎng)站架構(gòu)調(diào)優(yōu)實踐[J].程序員,2012(l):12.ZHANG Ying-gang.ASP.NET platform website structure optimization practice[J].Journal of programmers,2012(l):12.

        [2]曾誠.ASP.NET應用程序的探討與研究[J].湖北大學學報,2013(2):22.ZENGCheng.ASP.NETapplication to explore and research[J].Journal of Hubei University,2013(2):22.

        [3]萬榮澤.基于ASP.NET管理信息系統(tǒng)性能優(yōu)化的研究與實踐[J].廣西輕工業(yè),2012(12):91-92.WAN Rong-ze.Management information system based on ASP.NET, the research and practice of performance optimization[J].Journal of Guangxi Light Industry,2012(12):91-92.

        [4]俞華鋒.基于ASP.NET的電子商務網(wǎng)站的性能優(yōu)化研究[J].科技創(chuàng)新導報,2012(31):200-201.YU Hua-feng.Based on the performance of the ASP.NET ecommerce site optimization study[J].Science and Technology Innovation Herald,2012(31):200-201.

        [5]王茹.基于ASP.NET應用程序的性能優(yōu)化 [J].黑龍江科技信息,2010(10):72-73.WANG Ru.Based on the ASP.NET application performance optimization[J].Journal of Heilongjiang Science and Technology Information,2010(10):72-73.

        [6]桂友武,桂友超.基于ASP.NET企業(yè)網(wǎng)站的性能優(yōu)化探討[J].企業(yè)技術(shù)開發(fā),2011(4):121-122.GUI You-wu,GUI You-chao.Based on the performance of the ASP.NET website optimization study[J].Journal of Technology Development of the Enterprise,2011(4):121-122.

        [7]厲毅.優(yōu)化ASP.NET應用程序性能的研究與探討 [J].福建電腦,2012(9):67-68.LI Yi.Optimize the ASP.NET application performance research and discussion[J].Journal of Fujian Computer,2012(9):67-68.

        [8]李天平.NET深入體驗與實戰(zhàn)精要[M].北京:電子工業(yè)出版社,2012.

        猜你喜歡
        頁面數(shù)據(jù)庫優(yōu)化
        大狗熊在睡覺
        刷新生活的頁面
        超限高層建筑結(jié)構(gòu)設(shè)計與優(yōu)化思考
        民用建筑防煙排煙設(shè)計優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        开心五月激情综合婷婷色| 国产乱子伦一区二区三区国色天香| 激情综合五月婷婷久久| 国产性生交xxxxx无码| 久热香蕉视频| 不打码在线观看一区二区三区视频| 一本色道久久亚洲av红楼| 亚洲精品~无码抽插| 亚洲综合一区无码精品| 无码精品人妻一区二区三区98| 亚洲精品中文字幕一二三四| 337p日本欧洲亚洲大胆| 中文字幕无线码中文字幕| 国产成人久久精品流白浆| 国产一区二区三免费视频| 人妻丰满熟妇无码区免费| 精品乱码一区二区三区四区| 蜜桃一区二区免费视频观看| 亚洲一区二区三区99| 亚洲综合激情五月丁香六月| 无国产精品白浆免费视| 中文字幕这里都是精品| 精品卡一卡二乱码新区| 丰满少妇被猛烈进入| 亚洲九九夜夜| 男男啪啪激烈高潮无遮挡网站网址| 成人av鲁丝片一区二区免费| 91视频香蕉| 成人激情视频一区二区三区| 午夜久久久久久禁播电影| 日本又黄又爽gif动态图| 久久久国产精品ⅤA麻豆百度| 亚洲伊人久久大香线蕉| 午夜福利av无码一区二区| 亚州精品无码久久aV字幕| 精品久久人妻一区二区| 久久精品国产亚洲av久| 亚洲av理论在线电影网| 日韩精品一区二区三区四区五区六| 手机在线观看日韩不卡av | 国产内射在线激情一区|