
摘要:近年來互聯網的普及以及Web2.0技術的興起和發展使得Web系統的用戶數不斷增多,系統在運行過程中面臨著高并發對性能的挑戰。大量的并發訪問導致了網絡阻塞、數據處理滯后、系統性能降低甚至運行癱瘓。該文分析了Web性能的影響因素,研究了面向高并發的Web系統架構設計,從數據訪問、負載均衡、程序設計等方面提出了優化系統架構設計的方法和策略。
關鍵詞:高并發 Web系統 負載均衡 架構設計
中圖分類號:TP39 文獻標識碼:A 文章編號:1674-098X(2013)02(a)-0033-01
互聯網的發展和Web編程技術相互促進,擁有數億用戶的Web系統在互聯網中層出不窮,這些系統需要為海量用戶提供高效的數據訪問和應用服務。高并發是擁有大數量級別用戶數的Web系統必須要面對和解決的問題和挑戰。高并發訪問使得系統每小時承擔上千萬的訪問次數,為服務器的處理能力帶來了巨大壓力,如果沒有對Web系統設計進行優化,將影響系統的運行速度,進而影響用戶的訪問體驗,甚至導致Web系統服務中斷。為了應對高并發,信息系統的運行與維護部門通常是采取增加服務器等硬件設備來進行系統擴充和升級的解決辦法,然而硬件設備的成本預算并不能完全滿足高并發對系統的性能要求,需要對Web系統進行架構設計優化來整合系統的軟件和硬件,使其充分發揮出應有的功能和作用在高并發網絡環境中提供良好的Web應用服務。
1 系統架構設計
1.1 高并發對Web系統性能的影響
高并發是指在同一時刻有大量用戶訪問對系統進行信息服務請求或者應用功能使用,高并發對系統的請求響應時間、數據處理速度、系統性能和可靠性都產生了影響。Web系統的服務資源包括網絡帶寬、頁面緩存、系統內存、數據存儲、數據處理和應用服務等,當用戶在遠端訪問Web系統時,Web系統將響應用戶的訪問請求在服務端進行資源調度。在訪問用戶數量較少的時候,Web系統的吞吐量還未達到飽和,可以保證為用戶提供高性能和高可靠的信息服務;當訪問用戶數量較多的時候,Web系統的吞吐量趨近飽和,此時訪問用戶數量如果繼續增加,Web系統的吞吐量由于資源緊張和進程死鎖等原因將下降甚至產生阻塞,導致用戶端請求得不到響應使得用戶以為服務器出現了脫機現象。
1.2 系統框架設計
面向高并發的Web系統架構設計的核心思想是降低服務器端對資源調度和使用的程度,除了在程序設計應用高效的算法之外,在系統架構上可以采取數據緩存、負載均衡、內容分發、數據庫調優等技術來降低服務器端的數據處理性能開銷。高并發Web網站涉及了前臺界面顯示和數據錄入、網絡鏈路的數據傳輸和交互操作、后臺數據處理、服務調用和數據存儲等多個環節,對這些環節需要進行細致分析,掌握網站運行實現的技術細節從而優化系統體系結構來應對Web平臺的高并發訪問。面向高并發的Web系統框架由服務器、網絡和數據存儲等設備組成,這些設備在Web系統中不是簡單的羅列和使用,需要應用特定的解決方案來減輕系統中服務端的負載壓力。系統框架設計如圖1所示。
2 解決方案
2.1 緩存訪問
當網站面臨高并發訪問的時候,大量的用戶向服務器提出了訪問請求,這些請求需要服務器在短時間能提供響應。緩存的基本作用是在高速設備和低速設備之間構建一個數據緩沖區,對于網站而言,緩存技術的應用可以緩解服務器的處理壓力,將動態查詢轉變成靜態拷貝。緩存服務器解決方案從服務器的數量上可以分為集中緩存和分布式緩存,對于高并發Web系統通常采用后者。分布式緩存使用了CARP協議,能夠將物理上多臺緩存服務器在邏輯上集中成為一個統一的無重復緩存區。緩存服務器在應用上可以采用Memcached系統,為海量的緩存數據項建立索引,以此降低緩存查詢的時間復雜度。
2.2 負載均衡
服務器數量的垂直擴展可以提高Web系統的處理性能,但是硬件設備的投入需要軟件系統的配合才能發揮出最大的功效。負載均衡技術是高性能和可擴展服務器系統常用的解決Web訪問性能瓶頸問題的方案之一。對于高并發Web系統而言,負載均衡包括HTTP重定向、DNS負載均衡、反向代理負載均衡、地址轉換、內容分發、IP負載均衡、應用負載均衡等多個層面,其目的是將Web系統的網絡帶寬、數據吞吐量、系統計算、存儲、進程調度等資源進行均衡分配,在整體上提高系統的性能。負載均衡解決方案在應用表現上分為硬件形式的負載均衡器和軟件形式的集群系統,可以通過設置網絡路由和系統服務程序進行部署和應用。
3 結語
從奧運訂票網站到鐵路訂票網站,從亞馬遜到淘寶商城,在互聯網不斷普及的今天高并發Web系統面臨著前所未有的機遇和挑戰。面向高并發的Web系統架構設計對Web系統的信息服務提供效率和效果有著重要的影響,在Web系統建設過程中至關重要。該文從緩存訪問、負載均衡、數據庫優化等方面對此進行了探討,實際上,面向高并發的Web系統架構設計一直是Web系統研究的熱點和難點,還有若干問題需要學術界和工業界去思考和解決。
參考文獻
[1]范協裕,任應超,楊崇俊,等.基于集群技術的可伸縮云GIS服務平臺研究[J].計算機應用研究,2012(10).
[2]王正,陸余良,劉金紅.基于Ajax技術的Web服務架構及其安全性研究[J].計算機應用與軟件,2011(3).
[3]浦云明,王寶玉.基于負載性能指標的Web測試[J].計算機系統應用,2010(5).
[4]覃偉,何新華.基于高可用性負載均衡的Web票務平臺研究[J].計算機工程與設計,2009(23).