999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ASP.NET網站的系統架構和性能優化

2008-12-31 00:00:00謝運佳
電腦知識與技術 2008年24期

摘要:隨著互聯網的發展,新技術層出不窮,基于ASP.NET平臺的網站和應用越來越廣泛,用戶對網站的訪問速度的要求也越來越高。網站的訪問速度取決于很多因素,該文主要從網站的系統架構和性能優化兩方面入手,結合實際經驗,提出一些最佳技術實踐和解決方案,供大家參考。

關鍵詞:ASP.NET;網站架構;性能優化

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)24-1166-02

ASP.NET Website Architecture and Performance Optimization

XIE Yun-jia

(School of Educational Technology and Communication,GuangDong Polytechnic Normal University,Guangzhou 510665,China)

Abstract: With the development of the Internet and new technology, Website based on ASP.NET is becoming more and more widely used. Meanwhile, the users have a growing demand of the speed of visiting the web pages, which is decided by many factors. This paper combined with own practical experiences, gives some best practices and technology solutions on how to build an ASP.NET-Based website of multi-layer architecture with best performance.

Key words: ASP.NET;website architecture;performance optimization

隨著互聯網的發展,新技術層出不窮,基于ASP.NET的網站和應用越來越廣泛,用戶對網站的訪問速度的要求也越來越高。網站的訪問速度取決于很多因素,例如網絡的速度、服務器的性能、網站的系統架構、數據庫的應用策略,以及Web頁面本身的設計等等。本文主要從網站的系統架構和網站性能優化兩方面入手,結合自己的一些實際經驗,并以廣州市天河區教育局門戶網站為例子,提出一些最佳技術實踐和解決方案。

1 ASP.NET網站的系統架構

系統架構是指將應用系統的每個功能部分垂直地分解到各個獨立的邏輯層中,每個邏輯層只與相鄰的邏輯層通過接口通訊。ASP.NET網站通常采用三層的系統架構,如圖1所示:

圖1 網站三層系統架構

1) 表示層:網站與用戶交互的界面,由動態Web頁面組成。

2) 業務層:獲得表示層用戶的輸入,執行業務處理,調用數據層,并把結果返回給表示層呈現給用戶。

3) 數據層:負責保存和維護系統數據。

這種分層的系統架構帶來的好處是高性能、靈活性、可維護性和可擴展性。

廣州市天河區教育局門戶網站就采用這種典型的3層架構,獲得較好的性能,并為以后的系統維護和功能擴展留有空間,網站采用IIS6.0 作為Web服務器,SQL Server 2005 作為數據庫服務器,以Visual Studio 2005 作為開發工具,采用C#語言,基于ASP.NET 2.0平臺開發完成。

2 ASP.NET網站的性能優化

良好的網站系統架構只是獲得優異的網站性能的第一步,針對不同的需求還需要采取更多的優化措施,來獲得更好的性能,讓用戶等待的時間更短,為用戶提供更好的使用體驗和更便捷的服務。

2.1 數據層的性能優化

大規模、多用戶、高流量的網站,最大的性能瓶頸就是數據層,例如:數據庫連接打開和關閉,數據表的連接,數據的檢索和排序等。所以數據層是首先需要優化的地方。

1)開啟并設置數據庫連接池。可以通過數據庫連接字符串中的Max Pool Size 和Mini Pool Size來設置最大連接數和最小連接數,來獲得較好的性能。例如:\"Server=(local); Integrated Security = SSPI; Database=MyDatabase; Max Pool Size=100; Min Pool Size=5\"。

2) 采用存儲過程。存儲過程是數據庫內置的用來訪問和維護數據的內部程序,具有預編譯、速度快、效率高、靈活安全等特點。使用存儲過程會犧牲一定的可移植性,但帶來的卻是性能幾倍的提升。

3) 其他的方法,例如:為數據表添加索引,可以提高查詢速度;謹慎使用多表連接和嵌套的查詢,用內連接或者左連接代替;數據表龐大時,分割數據表等等。

2.2 業務層的優化

業務層是集中完成業務邏輯的地方,同時向上連接表示層,向下連接數據層,也是性能優化一個關鍵的地方。可以采取的措施包括“數據緩存和SQL緩存依賴”、“用戶自定義控件”和“處理回傳事件”。

1) 數據緩存和SQL緩存依賴。緩存可以極大地提高網站性能,是系統性能優化一個需要重點考慮的方面。借助ASP.NET 2.0配合SQL Server 2005,可以采用“數據緩存加SQL緩存依賴”的技術方案。數據緩存應用了Cache機制,任何添加到緩存中的項目都能被任何其他頁面、控件或者組件訪問。把經常需要的數據放入數據緩存項中,即可以在多個頁面和組件中共享信息,又可以減少數據庫的連接次數,這可以明顯縮短系統相應時間和提高系統性能。如果緩存項中的數據依賴數據庫中的數據,則可以通過SQL緩存依賴,在指定的數據庫中的數據發生修改時,自動地重新載入緩存數據。

2) 用戶自定義控件。用戶自定義控件一方面可以提高軟件組件的復用程度,提高軟件開發和生產效率,另一方面還可以提高系統性能,特別是在一個大的頁面上存在一個或者多個局部的刷新或者更新。把大頁面上每個單獨刷新或者更新的部分,定義成用戶自定義控件,當更新時,服務器只需要處理和傳輸這個控件的數據,減輕服務器的負擔,降低網絡帶寬的壓力。

3) 處理回傳事件。通過Page類的IsPostBack屬性來判斷是新的請求還是回傳事件,如果是回傳事件,則無需重新載入頁面控件和數據,可以節省時間和帶寬。

2.3 表示層的優化

表示層是負責顯示和與用戶交互的動態Web頁面,表示層的優化可以從以下幾個方面入手。

1) 頁面輸出緩存。頁面輸出緩存不同于數據緩存:數據緩存是緩存數據庫中讀取的數據或者應用程序計算出來的數據,頁面輸出緩存則是緩存整個Web頁面所呈現的內容,當下一次用戶請求的時候,就直接從緩存中取出這個頁面。更深入一點的優化手段還可以使用帶參數的頁面輸出緩存和部分頁面緩存。

2) 生成靜態頁面。頁面輸出緩存的一個替代方案就是讓動態的Web頁面生成靜態的HTML頁面,這也是一個可以顯著提高頁面打開速度的方法,特別是網站首頁,訪問的人數多,又包含很多部分都是需要從數據庫中讀取數據然后進行邏輯處理的,如果是生成靜態的HTML頁面,不需要訪問數據庫也沒有邏輯處理,頁面生成和顯示的速度提高不少。

3) 管理ViewState。ViewState用于維護客戶端在回傳過程中的頁面狀態,隨著頁面上控件數目的增多,ViewState信息將明顯增大,導致大量的網絡傳輸和服務器壓力。通過有選擇性的禁用控件的ViewState,可以顯著改善網絡流量和網站性能。

4) 單獨的CSS和JavaScript腳本文件。把CSS和JavaScript腳本文件單獨放入一個文件中,可以減小頁面文件的體積,還可以在整個網站中共享腳本,減少重復下載。

2.4 服務器的分工

除了系統架構和程序設計之外,另外一個對網站性能有重要影響是服務器的分工。一個好的建議是采用3個獨立的服務器:Web服務器、數據庫服務器、文件下載和圖片服務器,各司其職,即安全,又可以避免因為文件和圖片下載占用了大量的CPU時間和網絡帶寬。

3 結束語

網站的系統架構和性能優化是一個沒有盡頭的研究之路,系統架構師和程序員總在追求極致性能的解決方案。本文分析了ASP.NET網站的典型的三層系統架構,并從數據層,業務層,表示層和服務器的分工四個方面,提出一些性能優化的方案,供大家參考。

參考文獻:

[1] Stephen Walther.ASP.NET揭秘(卷2)[M].譚振林,譯.北京:人民郵電出版社,2007:135-190.

[2] 張英剛.NET平臺網站架構調優實踐點滴[J].程序員,2008(1):83-84.

[3] Cristian Darie,Karli Watson.ASP.NET2.0電子商務開發實戰[M].施游,譯.北京:人民郵電出版社,2007:147-153.

[4] 張南平,陳小倩.ASP.NET性能優化[J].微機發展,2005(8):88-91.

[5] 曾誠.高性能ASP.NET應用程序的探討與研究[J].湖北大學學報:自然科學版,2004(1):19-22.

[6] 沈軍.基于ASP.NET2.0技術的Web數據庫多層架構設計與實現[J].電子測量技術,2008(2):76-79.

[7] 張松,李曦.分布式多層架構中中間層的優化設計[J].計算機應用,2005(5):1058-1060.

主站蜘蛛池模板: 亚洲欧洲日产国码无码av喷潮| 在线免费不卡视频| 无码'专区第一页| 久久一色本道亚洲| 国产黄在线观看| 国产成人AV综合久久| 久久精品一品道久久精品| 国产91熟女高潮一区二区| 性做久久久久久久免费看| 欧美日韩成人在线观看| 人妻夜夜爽天天爽| 国产真实乱子伦视频播放| 国产成人av一区二区三区| 9cao视频精品| 国产精品手机视频| 久久窝窝国产精品午夜看片| 亚洲高清无码精品| 亚洲综合久久成人AV| 国产精品成人观看视频国产| 国产精品无码AV片在线观看播放| 香蕉网久久| 久久先锋资源| 女人一级毛片| 人妻无码中文字幕一区二区三区| 亚洲日本www| 亚洲国产精品无码AV| 国产香蕉97碰碰视频VA碰碰看 | 999精品色在线观看| 国产人碰人摸人爱免费视频| 永久在线精品免费视频观看| 亚洲欧洲天堂色AV| 国产日韩丝袜一二三区| AV天堂资源福利在线观看| 国产91精品最新在线播放| 日本高清有码人妻| 九色91在线视频| 久久久久亚洲Av片无码观看| 欧美 亚洲 日韩 国产| 国产一区二区免费播放| 亚洲欧洲日韩综合| www.精品视频| 色男人的天堂久久综合| 视频一区视频二区中文精品| 男人天堂伊人网| 午夜人性色福利无码视频在线观看| 91精品在线视频观看| 男人天堂亚洲天堂| 国产精品自在线拍国产电影 | 久久综合AV免费观看| 狠狠色丁婷婷综合久久| 操国产美女| 欧美日韩国产系列在线观看| 2021国产乱人伦在线播放| 日本人妻丰满熟妇区| 国内精品视频| 亚洲成人福利网站| 久久黄色免费电影| 国产精品亚洲综合久久小说| 亚洲男人在线| 无码区日韩专区免费系列| 四虎精品黑人视频| 99久久精品免费看国产电影| 中文字幕日韩视频欧美一区| 国产在线观看高清不卡| 四虎免费视频网站| 中美日韩在线网免费毛片视频| 丁香婷婷激情网| 美女国内精品自产拍在线播放| 国产自产视频一区二区三区| 久久永久免费人妻精品| 亚洲欧美日韩久久精品| 国产SUV精品一区二区| 91麻豆精品国产高清在线| 亚洲精品黄| 亚洲无码高清一区二区| 一级毛片在线播放免费观看| 国产美女免费| 国产福利一区在线| 色偷偷综合网| 欧美成人h精品网站| 免费jjzz在在线播放国产| 91人人妻人人做人人爽男同|