何文海
摘 要服務器在對瞬間大并發(fā)量訪問進行響應過程中,由于其LVS負載均衡算法是以加權最小連接調度算法進行默認的,因此會造成負載不均衡,從而影響了服務器對瞬間大并發(fā)量訪問的響應時間。為此,在LVS算法的基礎上,提出了一種動態(tài)自適應負載均衡算法,它通過動態(tài)推送信息的方式來對服務器負載信息進行實時收集,并采用分簇并行處理的方式來實現任務的分解與轉移,從而達到縮短服務器的響應時間,提高服務器對瞬間大并發(fā)量訪問應對能力的目的。本文便基于這種動態(tài)自適應負載均衡方法對服務器的相關優(yōu)化策略進行了深入的分析。
【關鍵詞】動態(tài)自適應 負載均衡 服務器 瞬間大并發(fā)量訪問 優(yōu)化策略
1 服務器對瞬間大并發(fā)量訪問的處理
當前,我國大部分服務器都主要是利用LV負載均衡法來對用戶訪問進行處理的,LVS方法是一種具備高性能的負載均衡調度方法,它是由我國的技術專家章文嵩先生提出的。隨著科學技術水平的不斷發(fā)展,服務器接收到的用戶訪問請求數量也日益增長,這就會使服務器端產生許多大小不一的負載量。而僅僅依靠服務器技術對用戶訪問請求進行響應是難以為繼的。而通過在服務器的Cent OS系統(tǒng)中搭建一個虛擬服務器,并在虛擬服務器中建立LVS負載均衡集群,能夠使其通過虛擬服務器來對不同類型的各種用戶進行任務均衡,從而極大提高了服務器對數據的檢索效率,并有效減少了服務器對用戶訪問請求的響應時間與調度時間,進而建立了能對數據進行高效檢索的虛擬服務器集群系統(tǒng)。在服務器端中,其權值的高低代表著這種服務器端對任務的處理能力水平,通常情況下,權值的定義公式為權值=服務器端性能/系統(tǒng)任務數。在LVS均衡調度方法中,服務器依靠其自身的任務處理能力來對所分配的任務數進行處理,但如果遇到瞬間大并發(fā)量進行訪問時,便會導致服務器中的負載均衡器負荷過大,進而造成服務器系統(tǒng)的運行受到影響,甚至還會導致服務器崩潰。此外,LVS算法只能對服務器中的當前連接任務數量進行處理,并且只能以服務器的當前連接任務數量作為系統(tǒng)負載進行反映,從而降低了服務器負載情況的準確性與真實性。因此,為了能夠使服務器更好的對瞬間大并發(fā)量訪問進行高效處理,并且能夠對服務器的真實負載情況進行準確反映,有必要對服務器的負載均衡調度方法進行必要的優(yōu)化。
2 動態(tài)自適應負載均衡的應用原理
本文提出一種動態(tài)自適應負載均衡調度方法,這種調度方法主要是從兩個方面進行了綜合考慮,其一是對服務器端自身任務處理性能的考慮,其二是對服務器端節(jié)點處所鏈接的任務數量進行考慮。通過利用動態(tài)自適應負載均衡調度方法,能夠使服務器內部結構中的節(jié)點來對服務器的自身負載情況進行收集,并將這些收集到的信息及時的傳遞到負載均衡器當中,利用動態(tài)推送信息來實現對服務器負載信息的實時收集。通過這種自主收集負載信息的方式,能夠使通信成本進一步降低,并且還能有效減少負載均衡器的負荷。動態(tài)自適應負載均衡方法的原理是通過在服務器中利用分簇并行處理的方式,將主服務器中的任務轉移到簇服務器當中,并由簇服務器對轉移過來的任務進行分解與劃分,然后將分解后的子任務傳遞到葉節(jié)點當中去,然后由選定處理器對葉節(jié)點中的處理結果進行收集。以此確保服務器能夠對瞬時大并量訪問進行響應。不過,值得注意的是,分層方法所采用的拓撲結構不能太復雜,否則會造成這種平行分層的方法失去原有效果。
3 服務器動態(tài)自適應負載均衡對瞬間大并發(fā)量訪問的優(yōu)化策略
3.1 數學模型的優(yōu)化
在瞬間大并量訪問過程中,通常要將用戶的任務形式分成兩種,一種是CPU消耗型任務,另一種是I/O消耗型任務,以此優(yōu)化最小連接調度算法。為了確保服務器的決策性能更加高效,首先要確保各個真實服務器能夠對自身的負載信息進行自適應收集,并依據自身的運行狀態(tài)將與之匹配的負載信息發(fā)達給負載均衡器當中去。負載均衡器會根據服務器的整體信息情況來對任務進行均衡調度,以此確保能夠對每個服務器節(jié)點的負載進行動態(tài)適應。服務器的性能指標主要通過公式P=L1×PCPU+L2×Pmemory+L3×Pdisc+L4×Pbandwidth,公式中P代表服務器的性能指標,Pmemory代表內存容量,Pbandwidth代表網絡帶寬、Pdisc代表服務器磁盤的可用空間、PCPU則代表CPU的頻率,而1≥L≥0則代表服務器各項指標中被利用的權重系數。在動態(tài)自適應負載均衡器配置以后,會通過計算公式將服務器的當前性能值P發(fā)送到負載均衡器,并且每隔一段時間,便會通過計算公式將服務器的實時負載情況發(fā)送給負載均衡器。此外,當有任務調度請求發(fā)送到負載均衡器中,負載均衡器會通過對各個節(jié)點的信息進行選擇,然后將任務調度請求分配到后端服務器當中。此外,當周期內負載信息未更新時,通常會有兩種情況發(fā)生,一種是后端服務器閑置。另一種是后端服務器過載。因此為了能夠更加有效的對每個服務器的節(jié)點負載能力進行預測,通過在數學模型中引入負載冗余參數來對子服務器節(jié)點的負載增加能力進行評估,并利用計算公式來對冗余值進行求出,以此判斷服務器的負載運行情況。
3.2 算法的優(yōu)化
在算法優(yōu)化上主要分為三個過程,首先是利用二叉排序樹算法對服務器中的負載冗余值進行排序,然后根據負載均衡器中的后端服務器R-RMIN值進行循環(huán)遍歷,以此判斷節(jié)點服務器的R-RMIN值。其次是利用中序遍歷算法對二叉排序樹進行計算,然后按照節(jié)點權值來形成從小到大的權值遞增數列。最后,對瞬間大并發(fā)量訪問所產生的任務按照權值進行分配,此時,被分配任務以后的節(jié)點會在R-RMIN值上產生改變。
3.3 負載均衡流程的優(yōu)化
在負載均衡流程優(yōu)化方面,利用循環(huán)遍歷算法來對負載均衡器中的負載冗余值進行計算,以此判斷冗余值是否最小,如果實際冗余值超過最小冗余值,應將該節(jié)點入樹,并建立二叉排序樹。然后利用中序遍歷方法將二叉排序樹按照遞增的形式形成一個數列,數列的遞增應按各個服務器節(jié)點中的權值進行排列。通過中序遍歷排列以后,然后通過數列對能夠滿足條件的服務器進行任務分配。
參考文獻
[1]劉勇,王露珊,郭跟成.EJB集群系統(tǒng)動態(tài)自適應負載均衡服務的設計與實現[J].計算機應用研究,2008(07):2064-2067+2134.
[2]李國,曲文麗,田豐,王洋.一種改進的周期自適應動態(tài)負載均衡算法[J].小型微型計算機系統(tǒng),2015,36(07):1476-1480.
[3]唐擁政,劉解放,周寧.并行入侵檢測系統(tǒng)的動態(tài)自適應負載均衡算法[J].鹽城工學院學報(自然科學版),2011,24(04):39-43.
作者單位
河北省教育考試院 河北省石家莊市 050091