馬潔
慕課教育系統(tǒng)中Web服務器集群負載均衡算法研究
馬潔
慕課教育平臺的服務器集群會在用戶訪問量的增加下響應變慢,所以需要提出一種基于服務器狀態(tài)和請求信息新的策略算法來減少響應時間。該算法的機制是根據(jù)客戶端的請求內(nèi)容對服務器的影響程度進行分類,并設(shè)定相應的權(quán)值,同時結(jié)合服務器的性能參數(shù)和負載狀態(tài),將該次請求分配到負載最輕的服務器。根據(jù)慕課教育系統(tǒng)提出了一種分層式均衡系統(tǒng)的總體框架結(jié)構(gòu),研究了系統(tǒng)內(nèi)部通信機制和Web 服務器性能的監(jiān)控方案。實驗結(jié)果表明所提出的算法能夠充分利用現(xiàn)有的軟硬件資源,有效地均衡Web集群服務器的負載,使服務資源得到最大效率的利用,是目前緩解或者解決Web服務器負載不斷增加的一種有效方法,優(yōu)于一些傳統(tǒng)的負載均衡算法。
數(shù)Web;服務器集群;負載均衡;高可用性;慕課教育系統(tǒng)
Web 服務的高性能、高可用問題已經(jīng)成為Web 服務領(lǐng)域研究的熱點。Web集群服務器系統(tǒng)是解決當前Web 服務性能問題的有效途徑之一。異構(gòu)集群服務器比同構(gòu)集群服務器更有實際意義,但實現(xiàn)起來困難要大得多。為實現(xiàn)一個高效的異構(gòu)Web 集群服務器系統(tǒng),必須解決許多問題,如:請求分配、負載均衡、容錯技術(shù)等[1]。對于異構(gòu)Web集群服務器,各臺Web服務器性能不同,各種負載均衡算法將導致系統(tǒng)中各臺Web服務器對外表現(xiàn)的不同。當Web集群服務器中各臺Web服務器的負載處于均衡狀態(tài)時,請求分配的效率最高[2]。因此,可以通過負載均衡算法來控制負載分布,使Web集群服務器的負載分配盡量達到均衡,來提高請求分配的效率。本文的研究來源于慕課教育平臺,該會在高峰時間內(nèi)承載非常大的Web訪問量導致服務器響應變慢,所以需要提出一種基于服務器狀態(tài)和請求信息新的策略算法來減少響應時間。
1.1 QSC負載均衡算法的理論分析
這里對即查詢服務器緩存QSC(Query Server with Cache),算法的基本理論進行分析。Web 服務器集群看作是由若干個提供各種服務能力的資源節(jié)點組成。如何共享在全部服務器的各種服務能力,不使某個節(jié)點的某個服務類別過載是解決均衡問題的一個重要方面。
根據(jù)對服務器的影響程度,本文把請求分為:靜態(tài)請求、數(shù)據(jù)庫操作請求、安全請求等,每種請求被分給特定的權(quán)值,這可以通過分析請求日志來獲得請求類型和估計服務器的性能。
請求的權(quán)值估算公式參照文獻[3]的思想定義為:ormation 函數(shù)得到自計算機運行以來計算機所有處理機空閑時間總量,再以不同的參數(shù)值調(diào)用NtQuerySystemInform ation 函數(shù)得到計算機運行時間總量。將相鄰兩次得到的空閑時間總量相減,得到一個周期內(nèi)所有處理機的空閑時間t1。將相鄰兩次得到的系統(tǒng)運行時間總量相減,得到一個周期的時間值t2。將t1和t2代入下列公式得到一個周期內(nèi)CPU 使用率的平均值如公式(5):
SERVERPER 進程求內(nèi)存使用率的方法:每次接收到性能同步信號之后每隔一秒調(diào)用函數(shù)GlobalMemoryStatus 得到物理內(nèi)存的使用率,重復5次,再將得到的值平均作為這段時間內(nèi)內(nèi)存的使用率。
SERVERPER 進程求網(wǎng)絡(luò)流量的方法:每次接收到性能同步信號后調(diào)用函數(shù)GetTcpStatistics 得到自計算機運行以來計算機接收和發(fā)送的TCP 包的總量,求和,再將相鄰兩次得到的數(shù)相減,得到一個循環(huán)周期內(nèi)計算機發(fā)送和接收到的TCP 包數(shù)作為機器的網(wǎng)絡(luò)流量。
Web 集群服務器模型由兩個關(guān)鍵實體:負載均衡器和服務器。仿真試驗比較主要目的是為了和其它分發(fā)算法進行對比,檢測QSC-負載均衡算法的有效性。模型主要包括負載處理時間模型和服務器處理時間模型,首先,由于分析服務器響應時間模型比較復雜,幾乎包含計算機系統(tǒng)的各個方面。在Web 服務器模型中,有3個因素影響響應延:CPU、網(wǎng)絡(luò)和磁盤。在不影響主要目的的前提下,本文不考慮網(wǎng)絡(luò)延遲和區(qū)分磁盤和緩存之間的效率的差別。所以,一個請求的響應時間的公式=CPU處理時間+讀取內(nèi)存的時間。處理時間只是被用來測量Web 服務器的性能,該策略中的負載處理時間相對服務器處理時間可以忽略不計。對每類訪問參考文獻中的一些數(shù)據(jù)資料結(jié)合對Web 服務器的實測,給出了相應權(quán)值。通過分析 Web 站點的日志,研究Internet 上請求分布情況和模擬服務器的負載情況。
下面模擬3種不同請求策略:最少連接策略,隨機策略,QSC-負載均衡策略,以最少連接和隨機選擇作為測試的基準。集群服務器系統(tǒng)吞吐量的對比圖如圖3所示:
圖3 集群服務器系統(tǒng)吞吐量的對比
在低負載的情況下,QSC負載均衡算法的效果不是很明顯。但是,在中等或負載較重的情況下,這個策略能獲得較高的性能和一定的效果。集群服務器系統(tǒng)響應時間的對比如圖4所示:
圖4 集群服務器系統(tǒng)響應時間對比
模擬的結(jié)果如下:在低負載的情況下,3種策略基本沒有什么差別。在中等負載的情況下,QSC負載均衡算法比最少連接策略,在響應時間都有較顯著的縮短,隨機策略是最慢的,由于對請求內(nèi)容進行準確的識別并考慮到服務器的異構(gòu)性。QSC負載均衡算法相對于基準來說,有較好的性能。在重負載的情況下,QSC負載均衡算法的效果就更明顯了。
綜上所述,QSC負載均衡算法考慮到請求的內(nèi)容和服務器的異構(gòu)性,根據(jù)請求內(nèi)容分發(fā)請求,模擬實驗的結(jié)果表明QSC負載均衡算法具有很好的性能。
Web 服務器負載處理應用領(lǐng)域、行業(yè)十分廣泛,也是一種趨勢,有很多方面需要研究。負載均衡服務主要包括網(wǎng)絡(luò)級、操作系統(tǒng)級和基于中間件3 種。基于中間件的負載均衡服務位于應用和操作系統(tǒng)之間,屏蔽底層通信復雜性和操作系統(tǒng)的差異,提供一致對外接口,克服了網(wǎng)絡(luò)級和操作系統(tǒng)級負載均衡服務的不足,可以根據(jù)需要在運行期間靈活地定制負載度量和負載均衡策略,根據(jù)請求內(nèi)容進行決策,因此具有很高的靈活性。Web 服務器負載處理是現(xiàn)實和將來一直會存在的問題,借鑒國內(nèi)外的先進技術(shù)和經(jīng)驗,從實際情況出發(fā),認真學習,不斷探索,相信在不久的將來,Web 服務器負載處理模型、技術(shù)、算法、評測等會更加成熟、效果更加優(yōu)秀。
[1] 吳璇,隋紅建.分布式均衡算法在防火墻集群中的實現(xiàn)[J].計算機系統(tǒng)應用, 2006, 15(8):28-30.
[2] 李新,黎文偉.一種改進的動態(tài)告警負載均衡算法[J]. 小型微型計算機系統(tǒng), 2013, 34(7):1585-1589.
[3] 王魁生,符予.集中式動態(tài)負載均衡算法的研究[J]. 西安石油大學學報(自然科學版), 2011, 26(6):102-104.
[4] 馬浩.淺析服務器集群的設(shè)計、實現(xiàn)與測試[J]. 信息系統(tǒng)工程, 2012(3):20-21.
[5] 許海成,傅錦偉.服務器集群負載均衡的建模與仿真研究[J]. 計算機仿真,2012, 29(3):180-183.
[6] 崔榮波,許曉兵,陸穎.一種虛擬化的服務器集群模型[J].計算機系統(tǒng)應用,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-),女,寶雞職業(yè)技術(shù)學院,碩士,講師,研究方向:計算機應用技術(shù),721000