馬潔
慕課教育系統中Web服務器集群負載均衡算法研究
馬潔
慕課教育平臺的服務器集群會在用戶訪問量的增加下響應變慢,所以需要提出一種基于服務器狀態和請求信息新的策略算法來減少響應時間。該算法的機制是根據客戶端的請求內容對服務器的影響程度進行分類,并設定相應的權值,同時結合服務器的性能參數和負載狀態,將該次請求分配到負載最輕的服務器。根據慕課教育系統提出了一種分層式均衡系統的總體框架結構,研究了系統內部通信機制和Web 服務器性能的監控方案。實驗結果表明所提出的算法能夠充分利用現有的軟硬件資源,有效地均衡Web集群服務器的負載,使服務資源得到最大效率的利用,是目前緩解或者解決Web服務器負載不斷增加的一種有效方法,優于一些傳統的負載均衡算法。
數Web;服務器集群;負載均衡;高可用性;慕課教育系統
Web 服務的高性能、高可用問題已經成為Web 服務領域研究的熱點。Web集群服務器系統是解決當前Web 服務性能問題的有效途徑之一。異構集群服務器比同構集群服務器更有實際意義,但實現起來困難要大得多。為實現一個高效的異構Web 集群服務器系統,必須解決許多問題,如:請求分配、負載均衡、容錯技術等[1]。對于異構Web集群服務器,各臺Web服務器性能不同,各種負載均衡算法將導致系統中各臺Web服務器對外表現的不同。當Web集群服務器中各臺Web服務器的負載處于均衡狀態時,請求分配的效率最高[2]。因此,可以通過負載均衡算法來控制負載分布,使Web集群服務器的負載分配盡量達到均衡,來提高請求分配的效率。本文的研究來源于慕課教育平臺,該會在高峰時間內承載非常大的Web訪問量導致服務器響應變慢,所以需要提出一種基于服務器狀態和請求信息新的策略算法來減少響應時間。
1.1 QSC負載均衡算法的理論分析
這里對即查詢服務器緩存QSC(Query Server with Cache),算法的基本理論進行分析。Web 服務器集群看作是由若干個提供各種服務能力的資源節點組成。如何共享在全部服務器的各種服務能力,不使某個節點的某個服務類別過載是解決均衡問題的一個重要方面。
根據對服務器的影響程度,本文把請求分為:靜態請求、數據庫操作請求、安全請求等,每種請求被分給特定的權值,這可以通過分析請求日志來獲得請求類型和估計服務器的性能。
請求的權值估算公式參照文獻[3]的思想定義為:ormation 函數得到自計算機運行以來計算機所有處理機空閑時間總量,再以不同的參數值調用NtQuerySystemInform ation 函數得到計算機運行時間總量。將相鄰兩次得到的空閑時間總量相減,得到一個周期內所有處理機的空閑時間t1。將相鄰兩次得到的系統運行時間總量相減,得到一個周期的時間值t2。將t1和t2代入下列公式得到一個周期內CPU 使用率的平均值如公式(5):



SERVERPER 進程求內存使用率的方法:每次接收到性能同步信號之后每隔一秒調用函數GlobalMemoryStatus 得到物理內存的使用率,重復5次,再將得到的值平均作為這段時間內內存的使用率。
SERVERPER 進程求網絡流量的方法:每次接收到性能同步信號后調用函數GetTcpStatistics 得到自計算機運行以來計算機接收和發送的TCP 包的總量,求和,再將相鄰兩次得到的數相減,得到一個循環周期內計算機發送和接收到的TCP 包數作為機器的網絡流量。
Web 集群服務器模型由兩個關鍵實體:負載均衡器和服務器。仿真試驗比較主要目的是為了和其它分發算法進行對比,檢測QSC-負載均衡算法的有效性。模型主要包括負載處理時間模型和服務器處理時間模型,首先,由于分析服務器響應時間模型比較復雜,幾乎包含計算機系統的各個方面。在Web 服務器模型中,有3個因素影響響應延:CPU、網絡和磁盤。在不影響主要目的的前提下,本文不考慮網絡延遲和區分磁盤和緩存之間的效率的差別。所以,一個請求的響應時間的公式=CPU處理時間+讀取內存的時間。處理時間只是被用來測量Web 服務器的性能,該策略中的負載處理時間相對服務器處理時間可以忽略不計。對每類訪問參考文獻中的一些數據資料結合對Web 服務器的實測,給出了相應權值。通過分析 Web 站點的日志,研究Internet 上請求分布情況和模擬服務器的負載情況。
下面模擬3種不同請求策略:最少連接策略,隨機策略,QSC-負載均衡策略,以最少連接和隨機選擇作為測試的基準。集群服務器系統吞吐量的對比圖如圖3所示:

圖3 集群服務器系統吞吐量的對比
在低負載的情況下,QSC負載均衡算法的效果不是很明顯。但是,在中等或負載較重的情況下,這個策略能獲得較高的性能和一定的效果。集群服務器系統響應時間的對比如圖4所示:

圖4 集群服務器系統響應時間對比
模擬的結果如下:在低負載的情況下,3種策略基本沒有什么差別。在中等負載的情況下,QSC負載均衡算法比最少連接策略,在響應時間都有較顯著的縮短,隨機策略是最慢的,由于對請求內容進行準確的識別并考慮到服務器的異構性。QSC負載均衡算法相對于基準來說,有較好的性能。在重負載的情況下,QSC負載均衡算法的效果就更明顯了。
綜上所述,QSC負載均衡算法考慮到請求的內容和服務器的異構性,根據請求內容分發請求,模擬實驗的結果表明QSC負載均衡算法具有很好的性能。
Web 服務器負載處理應用領域、行業十分廣泛,也是一種趨勢,有很多方面需要研究。負載均衡服務主要包括網絡級、操作系統級和基于中間件3 種?;谥虚g件的負載均衡服務位于應用和操作系統之間,屏蔽底層通信復雜性和操作系統的差異,提供一致對外接口,克服了網絡級和操作系統級負載均衡服務的不足,可以根據需要在運行期間靈活地定制負載度量和負載均衡策略,根據請求內容進行決策,因此具有很高的靈活性。Web 服務器負載處理是現實和將來一直會存在的問題,借鑒國內外的先進技術和經驗,從實際情況出發,認真學習,不斷探索,相信在不久的將來,Web 服務器負載處理模型、技術、算法、評測等會更加成熟、效果更加優秀。
[1] 吳璇,隋紅建.分布式均衡算法在防火墻集群中的實現[J].計算機系統應用, 2006, 15(8):28-30.
[2] 李新,黎文偉.一種改進的動態告警負載均衡算法[J]. 小型微型計算機系統, 2013, 34(7):1585-1589.
[3] 王魁生,符予.集中式動態負載均衡算法的研究[J]. 西安石油大學學報(自然科學版), 2011, 26(6):102-104.
[4] 馬浩.淺析服務器集群的設計、實現與測試[J]. 信息系統工程, 2012(3):20-21.
[5] 許海成,傅錦偉.服務器集群負載均衡的建模與仿真研究[J]. 計算機仿真,2012, 29(3):180-183.
[6] 崔榮波,許曉兵,陸穎.一種虛擬化的服務器集群模型[J].計算機系統應用,2011, 20(3):173-177.
Research on Load Balancing Algorithms of Web Server Cluster in Mooc Education System
Ma Jie
(Baoji professional technology institute, Baoji 721000, China)
The server clustering of Mooc education platform will respond slower when the user traffic is increasing, so it needs to make a new strategy algorithm based on server state and request information to reduce the response time. Mechanism of the algorithm classifies the client’s request according to its degree of influence on the servers, and sets the appropriate weight, combines the performance parameters with the load status of the servers, and assigns this request to the server with the lightest load. According to Mooc education system, it presents a hierarchical structure of the overall framework of a balanced system, and studies the internal communication mechanism of system and web server performance monitoring program. Experimental results show that the proposed algorithm can make full use of existing hardware and software resources, and effectively balance the load of web cluster servers to enable service to maximize efficient use of resources. It is an effective method for the current alleviation and solution of increasing Web server load, and is better than some of the traditional load balancing algorithm.
Web Server Clustering; Load Balancing; High Availability; Mooc Education System
TP311
A
1007-757X(2016)08-0065-04
2016.01.20)
馬 潔(1980-),女,寶雞職業技術學院,碩士,講師,研究方向:計算機應用技術,721000