嵇小飛
摘 要:基于LVS的Web服務器集群負載均衡默認的加權最小連接調度算法,提出后端服務器主動反饋負載,負載均衡器基于任務的權值分配調度的策略。針對Web服務器集群系統內部的動態自適應負載任務均衡調度策略,能夠有效加速Web服務器響應速度、提升集群系統性能,簡化調度過程,提高吞吐率。
關鍵詞:服務器集群;負載均衡;自適應
中圖分類號: TP393.09 文獻標識碼: A 文章編號: 1673-1069(2016)17-153-2
0 引言
通常情況下,服務器集群中的網頁查詢任務采用的手段是動態嵌入對象,面對不同量或者類型的任務,服務器的負載量存在10-100倍的差異,對分布式系統的處理能力的有效利用能夠保證多臺服務器聯合工作時負載的均衡。而一個良好的負載均衡手段能夠最大程度的減少執行時間,計算機傳輸數據的開銷,并根據服務器處理能力的不同分配相應的任務,使各個服務器的處理能力能夠最大化的得到利用。
1 LVS集群負載均衡策略
國防科技大學的章文嵩率先提出了一種有效的負載均衡策略——LVS,通過后來不斷地改進,該負載策略已經被廣泛地運用在高性能的負載均衡系統中。隨著網絡技術的發展,客戶端的任務請求數量逐漸增大,服務器端將會出現大小不一的負載量,傳統的服務器技術難以及時地對客戶的請求做出響應。搭建CentOS操作系統的LVS(LinuxVirtualServer)集群,Linux系統中自帶有負載均衡策略,因此能夠均衡不同用戶的不同類型或者不同量的任務。集群技術的運用在一定程度上提高了數據檢索的效率,減少了系統響應用戶請求的時間。實際開發過程中,對服務器使用最小連接策略進行加權,依靠IPVS來實現負載均衡調度的實現,進而完成基于數據檢索的Linux集群系統。不同服務器端的權值是其任務處理能力的衡量指標,一般情況下將權值定義為服務器端的性能與當前系統任務數的比值。該均衡調度對服務器分配任務主要依靠的是服務的任務處理能力和其連接的任務數,如果任務分配過于密集將會導致負載均衡器過載,出現阻礙系統運行的瓶頸。
LVS算法只將當前服務器鏈接的任務數量,但是僅僅用服務器當前的任務數量反映服務器的真實負載狀況。因此為了更加準確地對服務器的負載情況進行分析,還需要對系統的性能、相應時間、開發費用等參數進行剖析,真正做到將服務器集群的運行效率提高。負載均衡器對服務器節點的任務處理能力以及各個服務器的負載狀況的獲取過程將對后續任務的均衡分配產生十分重要的影響。新興的調度算法描述服務器的負載狀況使用了兩個指標,一是CPU的占有率;二是內存的空閑率。在進行任務分配前,不但要考慮服務器的處理能力不同,還需要考慮服務器的性能,進而保證集群服務器整體的效率最大化;為了更好地處理任務,服務器系統應當具有一定的伸縮性,當實際任務過多時,集群系統應該根據實際情況適量地增加服務器;此外,集群系統還應當具備負載的轉移能力,當服務器連接的任務過多時,可以按照某種規則轉給較閑的服務器。
2 動態自適應反饋的負載均衡策略
具有動態自適應的負載調度需要綜合考慮服務器自身處理任務的性能和服務器節點鏈接的任務量兩個指標。每個服務器葉子點能夠根據已有的規則對自身的負載信息進行收集,并及時地將所收集的信息發送到負載均衡器上。使用動態的推送信息搜集服務器的負載信息,相對于負載均衡器主動去收集的方式而言,能夠有效降低通信的開銷,為負載均衡器減少負擔。
分層負載均衡能夠保證葉子節點同時并行處理,同時還能夠保證真實事務服務器完全分布。另外,分層負載均衡為更高層次的負載均衡器提供使用聚合信息,對所連接的負載的改變能夠及時做出應答。為了使集群系統中的信息流量減少,防止出現調度瓶頸,對處理器中的信息進行分組(簇),并把每簇中涉及到的服務器進行平行分層處理。此處理方法的主要目的是將主服務器的任務轉移給一簇服務器,使該簇服務器成為“監督員”。 “監督員將對自己所獲得的任務進行進一步的劃分,并將劃分的子任務分配給相應的葉節點,并對葉節點的處理結果進行收集。但是需要注意的是,分層方法雖然被廣泛運用于線性陣列和樹形拓撲結構,但若拓撲結構相對復雜,則分層方法將會失敗。
2.1 自適應負載均衡
同一集群系統中的不同人物需求所需要的計算機的開銷不同,由于不同用戶對計算機的性能要求不同,并且所需要完成的任務也有所不同,因此常將用戶任務分為兩類:實時輸入輸出任務和實時CPU消耗型任務;使得最小連接調度算法進一步減小,產生均衡負載的新算法。
2.2 負載均衡流程
①二叉樹排序算法主要是對負載的冗余值進行排序。如各個服務器的負載冗余值將會被負載均衡器收集并循環遍歷,當某個服務器的負載冗余值超過最低限度時,便將此服務器入樹,并構建二插排序樹。②二叉排序樹遍歷。對二叉排序樹進行中序遍歷,形成一個遞增的數列,服務器性能衡量指標(權值)將形成一個大小依次排列的序列。③任務分配。對服務器節點中序遍歷后,按照服務器的現狀和性能進行任務的分配,完成任務分配之后,各個服務器的負載值及其冗余值將會發生改變。
2.3 動態自適應反饋的負載均衡策略性能分析與評估
面向集群系統的負載均衡技術能夠在整體上提升系統的性能,減少任務的響應時間,單個服務器的工作效率有所提高,整個系統的任務響應時間也將會提高。對于單片機系統而言,緩存方法是最好的改進系統性能的移植方法,結合緩存和傳統的算法進行緩存結構的設計和實現,能夠很好地改善服務器的運行時間。為測試系統效率,搭建3臺服務器節點,采用基于直接路由方式構建Linux虛擬服務器集群,采用WAS(MicrosoftWebAp-plicationStressTool)作為模擬用戶壓力的測試工具,選擇加權最小連接調度(wlc)算法作為對比其系統響應時間。實驗依次以100、200到700的用戶請求分7組進行模擬測試。
3 結束語
由于傳統的Web集群負載均衡算法使用的是加權最小鏈接調度算法,因此可能出現負載不均衡的現象。為此在傳統的加權調度算法的基礎上,對原有的LVS算法進行了改進和優化。本文首先對傳統的負載均衡算法的權值進行了重新分配,負載均衡器對各個服務器的CPU利用率和內存空閑率進行收集,確定新權值并傳送到均衡器中,均衡器將根據新的權值進行任務的分配。其次,本文提出了動態自適應反饋的策略,為了減少均衡器的負擔,采用的是服務器主動向均衡器主動反饋負載信息的方法。
參 考 文 獻
[1] 鄧珍榮,唐興興,黃文明,李寅威.一種Web服務器集群負載均衡調度算法[J].計算機應用與軟件,2013(3010):
53-56+101.
[2] 楊越,閆連山,張志勇,李賽飛.面向集群服務器大規模并發的改進負載均衡調度系統[J].微電子學與計算機,
2013,30(35512):54-56+60.
[3] 任俠.基于動態自適應負載均衡的服務器集群優化策略[J].工業控制計算機,2015(2812):38-39+41.
[4] 單志廣,林闖,魏丫丫.廣域Web集群的隨機高級Petri網模型及性能分析[J].系統仿真學報,2003,S1:93-98.