亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于權(quán)重輪詢負(fù)載均衡算法的優(yōu)化①

        2018-05-04 06:33:10汪佳文王書培徐立波郭家軍俞成海
        關(guān)鍵詞:宕機(jī)輪詢時延

        汪佳文, 王書培, 徐立波, 郭家軍, 俞成海

        (浙江理工大學(xué) 信息學(xué)院,杭州 310018)

        隨著電子商務(wù)的高速發(fā)展,網(wǎng)購已經(jīng)變的越來越普遍,用戶規(guī)模也在不斷增長,因此許多大的電商網(wǎng)站系統(tǒng)應(yīng)運(yùn)而生,伴隨網(wǎng)站架構(gòu)而來的是高并發(fā)[1]問題,例如淘寶的“雙十一”購物節(jié),并發(fā)量每秒高達(dá)幾百萬次,而傳統(tǒng)的單一系統(tǒng)模式并不能滿足這種要求,支撐龐大的高并發(fā)必須基于并行分布式技術(shù)[2]的服務(wù)集群.因此在面對大流量、高并發(fā)的沖擊下,如何更高效的展現(xiàn)出分布式服務(wù)集群中每臺服務(wù)器的性能成為技術(shù)關(guān)鍵. 當(dāng)前由于硬件性能發(fā)展的瓶頸,無法滿足人們對于高并發(fā)的要求,軟負(fù)載就成為人們?nèi)〉猛黄频闹攸c(diǎn).對于高并發(fā)高負(fù)載的大型網(wǎng)站架構(gòu)實(shí)現(xiàn)軟負(fù)載一般采用負(fù)載均衡技術(shù)[3]和緩存技術(shù),由于Nginx[4]代理服務(wù)器采用了負(fù)載均衡技術(shù)和緩存技術(shù)并且作為一款輕量級的Web服務(wù)器廣泛的受到網(wǎng)站開發(fā)者用戶的喜愛,而且Nginx的并發(fā)能力在同類型的Web服務(wù)集群中表現(xiàn)優(yōu)良,網(wǎng)站架構(gòu)中采用Nginx作為代理服務(wù)器的比例也逐年上升. 目前國內(nèi)外很多網(wǎng)站架構(gòu)都采用Nginx作為負(fù)載均衡和反向代理[5]的Web服務(wù)器,其中比較典型有淘寶、京東、新浪、網(wǎng)易等.

        由于負(fù)載均衡算法在解決大型網(wǎng)站架構(gòu)中高并發(fā)問題的重要性,研究人員對于分布式計算系統(tǒng)中的負(fù)載均衡算法從動態(tài)和靜態(tài)兩個方面進(jìn)行了深入的研究.靜態(tài)負(fù)載均衡算法是事先給定分配策略,在以后的運(yùn)行的過程中不再改變服務(wù)器節(jié)點(diǎn)負(fù)載性能,一般的靜態(tài)負(fù)載均衡算法主要有:隨機(jī)、權(quán)重輪詢、一致Hash等. 但在實(shí)際情況下分布式服務(wù)集群中的服務(wù)器性能在不斷消耗變化,并且服務(wù)器節(jié)點(diǎn)數(shù)也在動態(tài)的變化之中(服務(wù)器宕機(jī)或增加新的節(jié)點(diǎn)等),所以預(yù)分配方案并不能實(shí)時保證服務(wù)集群處于最優(yōu)的負(fù)載均衡狀態(tài). 因此動態(tài)負(fù)載均衡應(yīng)運(yùn)而生,動態(tài)負(fù)載均衡算法最直觀的是將客戶請求實(shí)時分配給當(dāng)前負(fù)載能力最優(yōu)的服務(wù)器. 國內(nèi)外目前有很多學(xué)者在負(fù)載均衡算法也有過研究,并且提出了很多改進(jìn)之處. 比如國外的Singh等[6]研究發(fā)現(xiàn)了一種基于動態(tài)調(diào)度的負(fù)載平衡Web服務(wù)器系統(tǒng),Kaur等[7]研究發(fā)現(xiàn)了一種通過虛擬機(jī)用蟻群算法實(shí)現(xiàn)負(fù)載平衡的混合方法,Ding等[8]研究發(fā)現(xiàn)了一種在異構(gòu)網(wǎng)絡(luò)中的動態(tài)負(fù)載平衡算法,張堯等[9]研究發(fā)現(xiàn)了一種改進(jìn)的基于權(quán)值動態(tài)負(fù)載均衡算法,Li等[10]研究發(fā)現(xiàn)了一種基于動態(tài)時間步長反饋的負(fù)載均衡方法,這些算法都在一定程度上提升了集群的負(fù)載性能,然而其中基于權(quán)重輪詢算法在負(fù)載均衡算法是比較常見的. 由于現(xiàn)在一般的分布式服務(wù)集群都是基于異構(gòu)網(wǎng)絡(luò)[11],影響服務(wù)器節(jié)點(diǎn)性能的因素比較多,不能只從單一方面考慮,需要綜合去考慮服務(wù)集中影響節(jié)點(diǎn)性能的各個因素,根據(jù)節(jié)點(diǎn)的真實(shí)負(fù)載情況去動態(tài)的調(diào)整節(jié)點(diǎn)的性能.

        基于以上原因本文對已有的權(quán)重輪詢負(fù)載均衡算法進(jìn)行了優(yōu)化,提出了一種動態(tài)自適應(yīng)權(quán)重輪詢隨機(jī)負(fù)載均衡算法(DAWRRRLB). 該算法主要考慮到影響節(jié)點(diǎn)的多重因素,根據(jù)服務(wù)集群中節(jié)點(diǎn)的實(shí)時負(fù)載性能動態(tài)的、自適應(yīng)的去調(diào)整當(dāng)前節(jié)點(diǎn)的負(fù)載性能,并且引進(jìn)了改進(jìn)的Pick-K算法,確保始終是最優(yōu)的服務(wù)器在提供服務(wù),同時避免一些節(jié)點(diǎn)由于接收到大量的請求或者因?yàn)槟硞€進(jìn)程過于龐大而出現(xiàn)過載的情況.而且在在集群系統(tǒng)中要想快速響應(yīng)客戶端的請求,只有始終保持是負(fù)載能力最優(yōu)的服務(wù)器在提供服務(wù),才能使整個集群負(fù)載處于最優(yōu)狀態(tài),從而提升負(fù)載均衡效率.

        1 基于權(quán)重的負(fù)載均衡算法分析

        1.1 加權(quán)最小連接算法

        加權(quán)最小連接負(fù)載均衡[12]算法(WLC)是根據(jù)當(dāng)前節(jié)點(diǎn)連接數(shù)與當(dāng)前節(jié)點(diǎn)權(quán)重比來實(shí)現(xiàn)負(fù)載均衡,將請求分配給比值最小的節(jié)點(diǎn),并且連接數(shù)加1. 即:

        其中,C(Ni)是表示該節(jié)點(diǎn)的鏈接總數(shù),W(Ni)表示當(dāng)前節(jié)點(diǎn)的權(quán)重值,Pi表示響應(yīng)請求的服務(wù)器節(jié)點(diǎn).

        缺點(diǎn):由于集群中各節(jié)點(diǎn)的異構(gòu),連接數(shù)和權(quán)重比很難真實(shí)反映各節(jié)點(diǎn)的負(fù)載真實(shí)情況,并且節(jié)點(diǎn)的負(fù)載性能在運(yùn)行的過程中是不斷變化的,且權(quán)重需要根據(jù)管理員經(jīng)驗(yàn)去設(shè)置,不能動態(tài)自適應(yīng)去調(diào)整節(jié)點(diǎn),難以準(zhǔn)確確定.

        1.2 加權(quán)輪詢算法

        加權(quán)輪詢[13]算法(WRR)適用性較強(qiáng),不依賴于客戶端的任何相關(guān)信息,僅僅依賴后端服務(wù)器節(jié)點(diǎn)的負(fù)載情況,根據(jù)后端服務(wù)器節(jié)點(diǎn)的權(quán)重比例輪流分配客戶端的請求. 該算法比較簡潔,不需要記錄當(dāng)前客戶端的所有連接,是一種無狀態(tài)的調(diào)度.

        缺點(diǎn):WRR沒有考慮到集群中每臺服務(wù)器的當(dāng)前連接數(shù)以及響應(yīng)速度,而且在集群運(yùn)行過程中,服務(wù)器節(jié)點(diǎn)的性能也是在不斷消耗變化,不能及時對服務(wù)器端節(jié)點(diǎn)的動態(tài)負(fù)載做出準(zhǔn)確的判斷,當(dāng)節(jié)點(diǎn)負(fù)載不均時,極容易出現(xiàn)個別服務(wù)器負(fù)載過高等,從而影響集群的整體負(fù)載性能. 也有可能因?yàn)槟硞€連接請求響應(yīng)時延比較長,嚴(yán)重影響該節(jié)點(diǎn)對其他的連接請求響應(yīng),導(dǎo)致集群性能下降.

        2 動態(tài)自適應(yīng)權(quán)重輪詢隨機(jī)負(fù)載均衡算法(DAWRRRLB)實(shí)現(xiàn)

        本文提出的動態(tài)負(fù)載均衡算法是實(shí)時獲取影響服務(wù)器性能的參數(shù),根據(jù)各節(jié)點(diǎn)性能參數(shù)的使用率實(shí)時的、動態(tài)的改變節(jié)點(diǎn)的負(fù)載性能. 因在實(shí)現(xiàn)動態(tài)負(fù)載均衡的過程中需要收集各個服務(wù)器的當(dāng)前負(fù)載信息需要一定的額外開銷,為了避免過于頻繁的去收集各個服務(wù)器的性能參數(shù)而導(dǎo)致一定的時延,通常是周期性的去收集當(dāng)前負(fù)載信息以盡可能的降低這些額外的開銷. 并且如果收集的信息不及時或誤差比較大在一定程度上也會影響負(fù)載均衡,為了盡可能降低此類情況的發(fā)生,本文均采用平均值的思想來減少這種誤差.

        2.1 服務(wù)器負(fù)載均衡影響參數(shù)

        由于Web服務(wù)器的性能受到服務(wù)器節(jié)點(diǎn)KPI數(shù)據(jù)的影響,所以可以根據(jù)這些影響因素變化的情況,動態(tài)的修改服務(wù)器的權(quán)重. 本文主要根據(jù)節(jié)點(diǎn)的CPU、內(nèi)存、磁盤IO以及網(wǎng)絡(luò)帶寬的使用情況對節(jié)點(diǎn)性能動態(tài)的進(jìn)行調(diào)整. 又因?yàn)镹ginx是根據(jù)集群中各節(jié)點(diǎn)的權(quán)重比,權(quán)重越大分配的請求連接數(shù)越多,權(quán)重越小分配的客戶端請求連接數(shù)就越少,因此可動態(tài)修改服務(wù)器的權(quán)重大小來實(shí)現(xiàn)動態(tài)負(fù)載均衡.

        現(xiàn)假設(shè)在周期時間T內(nèi)單個節(jié)點(diǎn)CPU的使用率為C(Ni),內(nèi)存的使用率為M(Ni),磁盤IO的使用率為D(Ni),網(wǎng)絡(luò)帶寬的使用率為B(Ni). 用Sc(Total)、Sm(Total)、Sd(Total)、Sb(Total)分別表示集群中CPU、內(nèi)存、磁盤IO、網(wǎng)絡(luò)帶寬的性能總和.

        又因?yàn)楦鱾€因素對服務(wù)器性能依賴的程度不一樣,現(xiàn)假設(shè)CPU、內(nèi)存、磁盤IO、網(wǎng)絡(luò)帶寬的依賴比重分別為Kc、Km、Kd、Kb,并且

        集群中每個服務(wù)器節(jié)點(diǎn)的性能真實(shí)比重為:

        其中,Wp(Ni)表示服務(wù)集群中每個節(jié)點(diǎn)性能的真實(shí)比重.

        由于服務(wù)集群中每個服務(wù)器的各個性能參數(shù)指標(biāo)不一樣,因此集群中每個服務(wù)器節(jié)點(diǎn)的性能比重也不一樣.

        2.2 負(fù)載均衡權(quán)重

        在實(shí)際運(yùn)行的過程中,集群中各節(jié)點(diǎn)性能是在不斷變化,權(quán)值也在動態(tài)的改變,因此每個節(jié)點(diǎn)在集群中性能比也在不斷變化. 現(xiàn)假設(shè)W(Ni)表示第i,i∈{1,…,n}個服務(wù)器節(jié)點(diǎn)的權(quán)重,則每個節(jié)點(diǎn)在集群中權(quán)重比例(即當(dāng)前節(jié)點(diǎn)在集群中的負(fù)載均衡性能)為:

        其中,Ew(Ni)表示第i個節(jié)點(diǎn)的權(quán)重比例,其中i∈{1,…,n}.

        2.3 響應(yīng)時延

        網(wǎng)站的性能優(yōu)劣一般通過響應(yīng)時延[14]來衡量,平均響應(yīng)時延越短,則表明服務(wù)器性能越好. 假設(shè)第i個節(jié)點(diǎn)的平均響應(yīng)時間為T(Ni),假設(shè)集群的每個服務(wù)器節(jié)點(diǎn)平均響應(yīng)時間(其中每個節(jié)點(diǎn)平均響應(yīng)時間為該節(jié)點(diǎn)在周期T內(nèi)n次響應(yīng)的平均時延)為:

        在周期T內(nèi)整個集群的平均響應(yīng)時延為:

        其中,T(Ni)表示第i個服務(wù)器節(jié)點(diǎn)的平均響應(yīng)時間,表示整個集群平均響應(yīng)時延.

        2.4 動態(tài)利用率

        在實(shí)際運(yùn)行的過程中需要根據(jù)各節(jié)點(diǎn)的性能參數(shù)實(shí)時計算各節(jié)點(diǎn)的負(fù)載性能,因此需要獲取在運(yùn)行過程中影響各節(jié)點(diǎn)性能因素的真實(shí)使用率. 設(shè)Uc(Ni)、Um(Ni)、Ud(Ni)、Ub(Ni)分別表示第i個服務(wù)器節(jié)點(diǎn)的CPU、內(nèi)存、磁盤IO、網(wǎng)絡(luò)帶寬的實(shí)時使用率. 則第i個服務(wù)器節(jié)點(diǎn)實(shí)時性能為:

        其中,U(Ni)表示第i個服務(wù)器節(jié)點(diǎn)實(shí)時性能利用率.

        2.5 集群中服務(wù)器節(jié)點(diǎn)性能模型的建立與分析

        因?yàn)樵谥芷跁r間T內(nèi),每個節(jié)點(diǎn)由于權(quán)重的不同獲取到的請求連接數(shù)也不同,權(quán)重越大,說明請求到該節(jié)點(diǎn)的連接數(shù)越多,服務(wù)器節(jié)點(diǎn)使用率也就越大. 所以根據(jù)單個連接請求在集群中某個服務(wù)器節(jié)點(diǎn)所占平均性能比來反映當(dāng)前節(jié)點(diǎn)的負(fù)載均衡能力. 為了更好的反映集群中節(jié)點(diǎn)的實(shí)時性能,另引入單個節(jié)點(diǎn)平均響應(yīng)時延與整個集群的平均響應(yīng)時延的比來反映節(jié)點(diǎn)的負(fù)載均衡能力,因?yàn)轫憫?yīng)時延最能直觀的反應(yīng)服務(wù)器節(jié)點(diǎn)的負(fù)載性能,可以避免由于某個連接請求進(jìn)程過大導(dǎo)致當(dāng)前節(jié)點(diǎn)成為超載節(jié)點(diǎn). 根據(jù)上述分析以及反映Web集群負(fù)載均衡的條件建立以下分析模型:

        其中,P(Ni)表示節(jié)點(diǎn)i實(shí)時負(fù)載均衡情況,T(Ni)為單個服務(wù)器平均響應(yīng)時延,為整個集群平均響應(yīng)時延.Ew(Ni)為第i個節(jié)點(diǎn)的在集群中負(fù)載比重,Wp(Ni)表示第i個節(jié)點(diǎn)的性能比重,U(Ni)為第i個節(jié)點(diǎn)的性能實(shí)時利用率.

        由于單位時間內(nèi)請求服務(wù)器的連接數(shù)是隨機(jī)的,因此在這里引入泊松分布,即根據(jù)客戶端隨機(jī)請求連接數(shù)來確定所需要的服務(wù)器個數(shù),通過Pick-K算法[15]在Web服務(wù)集群中篩選所需服務(wù)器. Pick-K算法的原理是:在更新周期T內(nèi),當(dāng)有任務(wù)到來時,從n臺成員服務(wù)器中選擇k個服務(wù)器,比較每臺服務(wù)器的負(fù)載情況,從性能最優(yōu)的服務(wù)器依次選擇,將任務(wù)發(fā)送給它們.但在實(shí)際運(yùn)行過程中節(jié)點(diǎn)的性能是不斷變化的,當(dāng)某些節(jié)點(diǎn)由于運(yùn)行過程. 本文對該算法進(jìn)行了一些改進(jìn),在Pick-K算法的基礎(chǔ)上加入了一些約束性,引入改進(jìn)的Pick-K算法的目的是確保集群中性能優(yōu)的服務(wù)器始終提供服務(wù),同時避免由于某個訪問請求進(jìn)程過大而阻塞其它請求訪問的情況. 改進(jìn)的Pick-K算法基本原理如下:現(xiàn)假設(shè)有n臺服務(wù)器,從n臺服務(wù)器中選擇k臺,總共有種情況,選出其中性能變化最平穩(wěn)k臺服務(wù)器提供服務(wù),并通過引入標(biāo)準(zhǔn)差來衡量集群負(fù)載變化情況,當(dāng)選中的k臺服務(wù)器節(jié)點(diǎn)的負(fù)載性能標(biāo)準(zhǔn)差高于某個閾值(在上一個周期所求得的標(biāo)準(zhǔn)差),則動態(tài)的調(diào)整集群中相應(yīng)服務(wù)器節(jié)點(diǎn)的負(fù)載性能. 由公式(12)可知P(Ni)表示第i個節(jié)點(diǎn)當(dāng)前負(fù)載情況,現(xiàn)假設(shè)P表示集群中所有節(jié)點(diǎn)實(shí)時負(fù)載性能的向量集合,Pd表示集群中k個服務(wù)器節(jié)點(diǎn)性能變化情況,則:

        其中,P表示集群中所有節(jié)點(diǎn)實(shí)時負(fù)載性能的向量集合,Pd表示集群中參與負(fù)載的服務(wù)器節(jié)點(diǎn)性能變化情況,表示選中的k個服務(wù)器實(shí)時負(fù)載性能的平均值.

        分析:從公式(14)可以看出,當(dāng)前標(biāo)準(zhǔn)差Pd反映的是集群中參與了負(fù)載均衡相關(guān)節(jié)點(diǎn)的負(fù)載性能的離散程度,當(dāng)標(biāo)準(zhǔn)差越小則說明Web服務(wù)集群負(fù)載越均衡,反之負(fù)載越不均衡. 根據(jù)引入的Pick-K算法計算得出在集群中篩選參與負(fù)載均衡所需服務(wù)器個數(shù)時總共有種情況,其中標(biāo)準(zhǔn)差最小的即為滿足條件的k臺服務(wù)器,現(xiàn)假設(shè)Pd(min)表示所求最小標(biāo)準(zhǔn)差,Dp表示給定的閾值. 則:

        下面通過對比最小標(biāo)準(zhǔn)差與閾值來判斷是否需要動態(tài)調(diào)整集群中節(jié)點(diǎn)的性能:

        (1)如果Pd(min)

        (2)如果Pd(min)>Dp,則對集群服務(wù)器節(jié)點(diǎn)的性能進(jìn)行調(diào)整,通過修改權(quán)重. 修改的策略如下:求出集合P中離散程度大的節(jié)點(diǎn),然后對離散程度大的節(jié)點(diǎn)在集群中的負(fù)載權(quán)重進(jìn)行動態(tài)調(diào)整,具體調(diào)整策略根據(jù)公式(12):

        1) 當(dāng)P(Ni)大于某個給定的值(上一次更新周期T所求的平均值則說明該節(jié)點(diǎn)負(fù)載過重,如果權(quán)重比較大,可能是由于服務(wù)器節(jié)點(diǎn)的實(shí)時使用率過大,可以減小當(dāng)前節(jié)點(diǎn)的權(quán)重. 如果當(dāng)前權(quán)重比較小,響應(yīng)時延比較長,此時有兩種情況:一是當(dāng)前節(jié)點(diǎn)負(fù)載能力差;二是因?yàn)槟承┰L問請求進(jìn)程過大而阻塞其它請求訪問,從而導(dǎo)致平均時延變長. 以上兩種情況都應(yīng)當(dāng)減小當(dāng)前節(jié)點(diǎn)的負(fù)載權(quán)重,以此來減少請求到當(dāng)前節(jié)點(diǎn)的訪問連接數(shù).

        2) 當(dāng)P(Ni)小于給定的值(上一次更新周期T所求的平均值)說明服務(wù)器實(shí)時使用率比較低,此時可以動態(tài)增加相應(yīng)的權(quán)重,提高其負(fù)載均衡能力.

        3) 當(dāng)P(Ni)過大(即在周期T內(nèi)請求該節(jié)點(diǎn)絕大多數(shù)請求超時),大于某個給定的值(初始給定),則認(rèn)為該服務(wù)器節(jié)點(diǎn)宕機(jī)不參與集群負(fù)載均衡,將該服務(wù)器節(jié)點(diǎn)置為不可用.

        根據(jù)上訴分析可知該算法考慮到了反映服務(wù)器節(jié)點(diǎn)負(fù)載性能的雙重因素(響應(yīng)時間比和性能參數(shù)使用率),通過動態(tài)的調(diào)整節(jié)點(diǎn)在集群中負(fù)載均衡的權(quán)重來使集群達(dá)到均衡負(fù)載. 并且該算法確保始終是負(fù)載均衡能力最好的服務(wù)器節(jié)點(diǎn)在提供服務(wù),當(dāng)服務(wù)器節(jié)點(diǎn)宕機(jī)時也可以減少請求失敗的次數(shù),避免了由于請求宕機(jī)的服務(wù)器節(jié)點(diǎn)而長時間等待,降低了平均響應(yīng)時延. 而且不必頻繁的去修改權(quán)重,只有當(dāng)不滿足一定的條件時才會修改權(quán)重,同時也可以避免由于某個訪問請求進(jìn)程過大導(dǎo)致該節(jié)點(diǎn)成為超載節(jié)點(diǎn).

        3 實(shí)驗(yàn)

        本實(shí)驗(yàn)采用Nginx搭建Web服務(wù)集群[16](如圖1所示),并使用成熟的Web測試工具Httperf+Autobench對Web服務(wù)集群進(jìn)行性能測試,該實(shí)驗(yàn)采用的是Http請求方式,實(shí)驗(yàn)環(huán)境配置如表1,其中一臺服務(wù)器用作負(fù)載均衡服務(wù)器,另五臺為后端服務(wù)器. 在搭建Nginx服務(wù)器時引入了Nginx+ngx_lua模塊[17],并且利用Lua腳本對nginx.conf配置文件進(jìn)行修改,動態(tài)改變集群中服務(wù)器節(jié)點(diǎn)的負(fù)載權(quán)重. 由于影響服務(wù)器節(jié)點(diǎn)的各個因素對服務(wù)器性能依賴的程度不一樣,本次實(shí)驗(yàn)主要依賴CPU和內(nèi)存,令CPU、內(nèi)存、磁盤IO以及網(wǎng)絡(luò)帶寬的依賴比重分別為:0.4、0.4、0.1、0.1,K=[0.4,0.4,0.1,0.1]. 通過調(diào)用Httperf執(zhí)行Autobench腳本,設(shè)置并發(fā)連接數(shù)增長,本次測試通過每次增加200(其中包含20龐大進(jìn)程并發(fā)數(shù))并發(fā)連接數(shù)進(jìn)行實(shí)驗(yàn),并根據(jù)并發(fā)響應(yīng)時延對加權(quán)連接最小數(shù)、內(nèi)置加權(quán)輪詢算法、和本論文改進(jìn)的DAWRRRLB三種算法的負(fù)載均衡性能進(jìn)行分析.

        表1 實(shí)驗(yàn)環(huán)境配置

        圖1 測試環(huán)境Web服務(wù)集群架構(gòu)示意圖

        實(shí)驗(yàn)一. 假設(shè)在運(yùn)行的過程中集群中沒有服務(wù)器節(jié)點(diǎn)宕機(jī)或斷網(wǎng)等特殊情況. 根據(jù)實(shí)驗(yàn)一得到表2.

        表2 三種算法的平均響應(yīng)時延如下

        分析:根據(jù)表2得到的平均響應(yīng)時延并結(jié)合圖2可以看出當(dāng)并發(fā)量比較低的時候三者的平均時延相差不多,此時對服務(wù)器的性能影響比較小,3種情況下服務(wù)器都能快速響應(yīng)客戶的請求. 當(dāng)并發(fā)量逐漸變大并大于500的時候,加權(quán)最小連接數(shù)和動態(tài)自適應(yīng)權(quán)重輪詢隨機(jī)負(fù)載均衡算法負(fù)載均衡性能明顯高于加權(quán)輪詢算法,此時服務(wù)器節(jié)點(diǎn)的性能影響比較大,后兩種情況是根據(jù)服務(wù)器的實(shí)時性能動態(tài)調(diào)整服務(wù)器節(jié)點(diǎn)的權(quán)重實(shí)現(xiàn)負(fù)載均衡,動態(tài)的去調(diào)整始終保持性能優(yōu)的節(jié)點(diǎn)響應(yīng)更多請求. 當(dāng)并發(fā)量繼續(xù)增大并大于1100時,此時對服務(wù)器節(jié)點(diǎn)各個性能參數(shù)要求比較高,因此加權(quán)最小連接數(shù)響應(yīng)時延要大于改進(jìn)動態(tài)自適應(yīng)算法(DAWRRRLB)的響應(yīng)時延,因?yàn)楦倪M(jìn)的動態(tài)自適應(yīng)算法(DAWRRRLB)考慮到各個服務(wù)器節(jié)點(diǎn)的實(shí)時性能參數(shù)利用率,是根據(jù)集群中服務(wù)器節(jié)點(diǎn)實(shí)時性能進(jìn)行負(fù)載分配的. 由此可以看出當(dāng)節(jié)點(diǎn)不發(fā)生特殊情況(宕機(jī)或斷電)下符合我們的預(yù)期,通過平均響應(yīng)時延計算WLC算法比WRR算法性能性能提高了14.99%,DAWRRRLB負(fù)載均衡算法性能比WLC算法性能提高了10.61%.

        實(shí)驗(yàn)二. 模擬集群在運(yùn)行過程中部分服務(wù)器節(jié)點(diǎn)存在短暫的宕機(jī)或斷網(wǎng)不可用的情況. 本實(shí)驗(yàn)當(dāng)并發(fā)用戶數(shù)為700的時候,讓集群中部分服務(wù)器斷網(wǎng)或宕機(jī)不可用后又恢復(fù).

        根據(jù)實(shí)驗(yàn)二得到表3. 從表3實(shí)驗(yàn)數(shù)據(jù)和圖3可以看出滿足實(shí)驗(yàn)一的結(jié)果. 當(dāng)出現(xiàn)宕機(jī)情況下改進(jìn)的動態(tài)自適應(yīng)負(fù)載均衡算法要優(yōu)于其他兩種情況. 因?yàn)楫?dāng)出現(xiàn)宕機(jī)不可用時在下一個更新周期T內(nèi),不可用的兩臺服務(wù)器節(jié)點(diǎn)不參加負(fù)載均衡,從實(shí)驗(yàn)數(shù)據(jù)可以看出提高了成功響應(yīng)連接數(shù),并且也有效降低了整個集群的平均響應(yīng)時延,符合預(yù)期的結(jié)果. 通過響應(yīng)時延計算WLC算法比WRR算法性能提高了14.98%,DAWRRRLB算法負(fù)載性能比WLC算法負(fù)載性能性能提高了15.8%. 并且通過實(shí)驗(yàn)一和實(shí)驗(yàn)二數(shù)據(jù)對比,優(yōu)化后的DAWRRRLB算法在Web服務(wù)集群環(huán)境不穩(wěn)定(集群中服務(wù)器節(jié)點(diǎn)容易宕機(jī)或斷網(wǎng))的情況下負(fù)載性能比其它算法更加優(yōu)越.

        表3 三種算法的平均響應(yīng)時延

        圖2 響應(yīng)時延(縱坐標(biāo))和某一時刻并發(fā)量(橫坐標(biāo))的關(guān)系折線

        圖3 響應(yīng)時延(縱坐標(biāo))和某一時刻并發(fā)量(橫坐標(biāo))的關(guān)系折線

        4 總結(jié)

        本文提出的動態(tài)負(fù)載均衡算法(DAWRRRLB),能夠根據(jù)服務(wù)集群中各個服務(wù)器節(jié)點(diǎn)的實(shí)時性能去動態(tài)改變服務(wù)器節(jié)點(diǎn)負(fù)載能力,使集群中每個節(jié)點(diǎn)能夠?qū)崟r處于最優(yōu)負(fù)載狀態(tài),始終保證性能最優(yōu)的服務(wù)器節(jié)點(diǎn)提供服務(wù),而且不必頻繁的去修改權(quán)重,只有當(dāng)不滿足一定的條件時才會修改權(quán)重,同時也可以避免由于某個連接請求進(jìn)程過大導(dǎo)致該節(jié)點(diǎn)成為超載節(jié)點(diǎn),也降低了某些節(jié)點(diǎn)由于接收到大量請求出現(xiàn)過載的概率.并采用Nginx作為負(fù)載均衡和反向代理服務(wù)器,通過多次實(shí)驗(yàn)數(shù)據(jù)對比,負(fù)載均衡性能得到了較大的提升.但是此算法也存在一定的缺陷,比如更新周期時間T,如果周期T太大時,各服務(wù)器節(jié)點(diǎn)的負(fù)載情況變化太快,不能實(shí)時反映節(jié)點(diǎn)的性能; 反之,如果周期T太小則需要過于頻繁去獲取服務(wù)器節(jié)點(diǎn)性能參數(shù),反而會降低服務(wù)器節(jié)點(diǎn)的性能.

        1 Huang JW,Wang JX,Zhang T,et al. Tuning the aggressive TCP behavior for highly concurrent HTTP connections in data center. Proceeedings of the 36th International Conference on Distributed Computing. Nara,Japan. 2016.98-107.

        2 柳偉衛(wèi). 分布式系統(tǒng)常用技術(shù)及案例分析. 北京:電子工業(yè)出版社,2017:2.

        3 Wang YZ,Jiang JR,Ye H,et al. A distributed load balancing algorithm for climate big data processing over a multi-core CPU cluster. Concurrency and Computation Practice and Experience,2016,28(15):4144-4160. [doi:10.1002/cpe.v28.v28.15]

        4 苗澤. Nginx高性能Web服務(wù)器詳解. 北京:電子工業(yè)出版社,2013:10.

        5 Lin H. Research on Nginx reverse proxy visual management scheme and the programming realization. Journal of Guizhou Normal College,2015,31(12):32-35.

        6 Singh H,Kumar S. Dispatcher based dynamic load balancing on web server system. International Journal of Grid &Distributed Computing,2011,4(3):89-106.

        7 Kaur K,Kaur A. A hybrid approach of load balancing through VMs using ACO,MinMax and genetic algorithm.Proceedings of the 2nd International Conference on Next Generation Computing Technologies (NGCT). Dehradun,India. 2016. 615-620.

        8 Ding ZX,Wang XJ,Yang WM. A dynamic load balancing algorithm in heterogeneous network. Proceedings of the 7th International Conference on Intelligent Systems,Modelling and Simulation. Bangkok,Thailand. 2016. 337-342.

        9 張堯. 基于Nginx高并發(fā)Web服務(wù)器的改進(jìn)與實(shí)現(xiàn)[碩士學(xué)位論文]. 長春:吉林大學(xué),2016:5.

        10 Li HJ,Zhao YY,Zhu GF,et al. A load balancing method based on dynamic time step feedback. Proceedings of the 2nd IEEE International Conference on Computer and Communications (ICCC). Chengdu, China. 2016.2911-2916.

        11 Gu Y,Wu CQ. Performance analysis and optimization of distributed workflows in heterogeneous network environ ments. IEEE Transactions on Computers,2016,65(4):1266-1282. [doi:10.1109/TC.2013.62]

        12 高振斌,潘亞辰,華中,等. 改進(jìn)的基于加權(quán)最小連接數(shù)的負(fù)載均衡算法. 科學(xué)技術(shù)與工程,2016,16(6):81-85.

        13 Li T,Baumberger D,Hahn S. Efficient and scalable multiprocessor fair scheduling using distributed weighted round-robin. Proceedings of the 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. Raleigh,NC,USA. 2009. 65-74.

        14 Elshater Y,Martin P,Hassanein E. Using design patterns to improve web service performance. Proceedings of 2015 IEEE International Conference on Services Computing. New York,NY,USA. 2015. 746-749.

        15 王霜,修保新,肖衛(wèi)東. Web服務(wù)器集群的負(fù)載均衡算法研究 . 計 算 機(jī) 工 程 與 應(yīng) 用,2004,40(25):78-80. [doi:10.3321/j.issn:1002-8331.2004.25.024]

        16 張開濤. 億級流量網(wǎng)站架構(gòu)核心技術(shù). 北京:電子工業(yè)出版社,2017.

        17 陶輝. 深入理解Nginx:模塊開發(fā)與架構(gòu)解析. 2版. 北京:機(jī)械工業(yè)出版社,2016.

        猜你喜歡
        宕機(jī)輪詢時延
        島內(nèi)人口普查剛啟動就遇“宕機(jī)”
        基于等概率的ASON業(yè)務(wù)授權(quán)設(shè)計?
        基于GCC-nearest時延估計的室內(nèi)聲源定位
        電子制作(2019年23期)2019-02-23 13:21:12
        基于改進(jìn)二次相關(guān)算法的TDOA時延估計
        基于集中采購的分布式系統(tǒng)的設(shè)計與實(shí)現(xiàn)
        一起民航氣象數(shù)據(jù)庫系統(tǒng)進(jìn)程頻繁宕機(jī)故障分析及處理方法
        科技視界(2017年2期)2017-04-18 18:19:54
        FRFT在水聲信道時延頻移聯(lián)合估計中的應(yīng)用
        艾默生網(wǎng)絡(luò)能源發(fā)布《2016年數(shù)據(jù)中心宕機(jī)成本》
        依托站點(diǎn)狀態(tài)的兩級輪詢控制系統(tǒng)時延特性分析
        基于分段CEEMD降噪的時延估計研究
        手机福利视频| 一区二区三区一片黄理论片| 国内偷拍国内精品多白86| 欧美综合天天夜夜久久| 亚洲精品国产成人无码区a片| 91精品国产91久久久久久青草 | 人妻少妇被猛烈进入中文| 99国产精品久久久久久久成人热| 欧美日韩不卡合集视频| 最新精品国偷自产在线婷婷| 青青草绿色华人播放在线视频| 精品国产一区二区三区色搞| 久久综合精品国产二区无码| 亚洲av美女在线播放啊| 国产精品视频白浆免费看| 强开小婷嫩苞又嫩又紧视频| 亚洲中文字幕无码久久| 久久国产精品99精品国产987| 青草草视频在线观看华人免费 | 亚洲第一se情网站| 亚洲欧洲精品国产二码| 高清成人在线视频播放| 国产精品私密保养| av无码久久久久久不卡网站| 天堂av无码大芭蕉伊人av孕妇黑人| 少妇人妻无奈的跪趴翘起| 国产精品美女久久久久av福利| 福利视频黄| 亚洲一区二区三区久久久| 免费日本一区二区三区视频 | 91久久精品一区二区喷水喷白浆| 电驱蚊液可以插一晚上吗| 成人免费看片又大又黄| 婷婷色国产精品视频一区| 国产中文色婷婷久久久精品| 免费观看羞羞视频网站| 丁香综合网| 亚洲一区二区三区麻豆| 欧美老妇交乱视频在线观看| 天堂在线www中文| 国产麻豆放荡av激情演绎|