999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于預測模型及獨立訓練節點的負載均衡策略①

2018-09-17 08:49:46陳大才
計算機系統應用 2018年9期
關鍵詞:用戶實驗模型

陳大才,呂 立,高 岑,孫 詠

1(中國科學院大學,北京 100049)

2(中國科學院 沈陽計算技術研究所,沈陽 110168)

1 引言

互聯網的高速發展使得上網用戶劇增,很多互聯網服務的日活躍量成指數增長.這就給服務器帶來了巨大的壓力.服務器必須升級以服務更多的用戶.同時,近幾年互聯網越來越多的新“玩法”給服務器的并發訪問能力帶來了嚴峻的挑戰.比如微信搶紅包、淘寶雙十一、春運搶票等.2016年除夕夜發的紅包數量就達到了幾十億個.對承載這些秒級數據和高并發響應的的服務器的性能的需求可想而知[1].

如何提高服務器的并發訪問能力還是一個值得深入研究的課題.本文通過提出一種新型的負載均衡策略來提高服務器集群的整體處理效率,從而提高Web服務器的并發訪問能力.

2 研究現狀

多年來,負載均衡一直是服務端一個熱門的話題,新的策略和解決方案不斷的被提出,已經從最初的只能通過靜態設置,到后來的可以根據集群運行情況作出動態分配,再到最后的自適應策略等.已經有很多的相關技術人員作出了不可磨滅的貢獻[1].其中,國外的許多企業和研發團隊推出了很多較好的解決方案.Microsoft公司針對于集群的負載情況,提出了具有較高可伸縮性和可用性的網絡負載均衡技術(NLB)以及基于作用在多層集群網絡的中間件與網絡負載均衡的組件負載均衡技術(CLB)[2].IBM公司推出的Web Sphere[3]相關的一套強大的Web 應用服務器,其提供了優秀的集群解決方案以及卓越的負載均衡功能.Intel公司網擎系列中的負載均衡器采用的快速響應算法[4].在國內,諸多高校也在致力于研究負載均衡策略,例如清華大學、國防科學技術大學、浙江大學等,其中具有代表性的有清華大學研發的可擴展的Web服務器集群系統,國防科技大學章文嵩博士主持開發的Linux虛擬服務器項目等[5].

3 最少響應時間負載均衡策略

本文提出的算法根據當前請求的請求類型計算出當前每個服務器節點預計的響應時間,并從中選擇一個擁有最少響應時間的節點,用該節點處理請求.

本算法適用于具有負載調度器、業務服務器池和共享存儲三層結構的負載均衡集群結構[6].

為了簡化模型,本文假設集群中的所有服務器節點都具有相同的硬件和軟件配置.

3.1 相關概念

負載調度器:負載均衡集群結構中用來接收用戶請求并向后端服務器節點分發請求的節點.

業務服務器:用于實際業務操作的服務器.

請求:用戶發送的 HTTP Request,如登錄請求、注冊請求等.

請求類型:請求的動作,如登錄、注冊、購買商品等.響應:服務器處理完用戶請求后,反饋的結果.

請求處理時間:服務器從請求隊列中抓取請求進行處理,并處理完成的時間.

請求響應時間:請求從負載調度器發出后,直至接收到響應所需要時間.

3.2 影響響應時間因素的分析

在集群結構中,影響單節點中響應時間的因素大致有以下幾種:

(1)當前服務器節點的性能情況[1]

如 CPU 、內存、磁盤 IO、網絡帶寬情況.

當前節點的性能決定了請求的處理時長.

(2)請求類型

不同類型的請求所需要做的操作步驟不同(如有的請求查詢數據庫較多,有的數學計算較多),所需要的資源也不同(如 CPU 密集型任務需要更多的處理機資源,IO 密集型任務需要更多的 IO 資源),進而所需要的處理時間也不同.

例如登錄請求所做的操作一般比獲取用戶資料多,也更耗費時間.

(3)請求隊列的總響應時間

即當前請求隊列中的所有請求都被處理完所需要的時間.

當前請求隊列的總響應時間決定了新請求多長時間之后才能被處理.

經過上面的分析,本文提出了一種算法,通過使用以往的實際請求響應時間及節點的負載情況等歷史數據進行建模,然后預測新請求的響應時間,從而選擇具有最少響應時間的服務器節點來處理請求,達到所有請求都近似擁有最少響應時間的目標,最終集群的總響應時間就減少了.

3.3 算法描述

給每個服務器節點設置以下變量:

(1)當前性能情況P

(2)預估處理等待時間Tw

用于標記新請求可能需要等待多長時間才能被處理.

(3)預估響應時間Rp

給每個請求設置以下變量:

(1)請求類型 Action 參數A

(2)請求的開始響應時間Rstart

(3)請求的實際響應時間Rr

(1)提取請求中的請求類型[7]

負載調度器收到用戶發送的請求,提取出其中的請求類型參數A.

(2)預測各節點的響應時間

將請求類型參數A、各節點的當前性能情況信息P和各節點的預估處理等待時間Tw輸入響應時間預測模型中得出每個服務器節點預估的響應時間.

(3)選擇具有最少響應時間的服務器節點

負載調度器從上一步計算出的各節點預估響應時間中選擇一個具有最少響應時間的服務器節點,并更新該節點的Rp值,將請求發送給該服務器節點,并記錄該請求的開始響應時間Rstart.

(4)處理請求并記錄實際響應時間

服務器節點收到請求后,將請求放入請求隊列中.服務器節點從請求隊列中選取一條請求進行處理.處理完成后,在響應頭中添加當前服務器節點的性能情況信息P′作為響應頭,并將響應回傳給負載調度器.

(5)使用實際響應時間矯正響應時間預測模型

負載調度器用收到響應時的當前時間Tn減去第 2步記錄的開始響應時間Rstart,得到該請求的實際響應時間Rr.負載調度器將該實際響應時間Rr和第 2 步記錄的A、P、Tw放入響應時間預測模型中,對預測模型進行校正.

(6)更新預估處理等待時間Tw

更新預估處理等待時間為Tw=Rp–Rr,其中Rp等于服務器節點中當前請求隊列中最末尾的一條記錄的預估響應時間;Rr等于最近收到響應的請求的實際響應時間,也就是請求隊列中剛處理完的請求的實際響應時間.兩者之差就是當前請求隊列的總響應時間.

(7)記錄結點當前負載情況

負載調度器從收到的響應頭中提取結點的當前負載情況P′,更新變量P.

(8)給用戶發送響應

負載均衡器從響應頭中刪去負載均衡算法使用的信息,并將響應發送給用戶.

圖1 集群結構

3.4 提取請求中的請求類型

當負載調度器接收到由用戶發送過來的請求時,負載調度器會從請求中提取請求類型.

例如,從請求 http://www.example.com/login?userID=123456&pwd=s2a51s&timestamp=1400&verify=s45 f83f 中可以提取其請求類型為 login;從請求 http://www.example.com?action=signup&userID=123456 中可以提示其請求類型為 signup.

3.5 響應時間預測模型

本算法通過使用機器學習算法建立響應時間預測模型來預測請求的響應時間.

通過 3.2 節的分析,本算法使用請求類型A、服務器節點的性能情況P、請求隊列的總響應時間Tw作為輸入參數,用請求響應時間Rp作為輸出參數.即有如下模型:

為了方便實驗,本文只選用了 CPU 占用率、內存剩余量、磁盤 IO 讀寫速度、網絡讀寫速度等簡單的性能參數.為了方便機器學習,以上參數都使用標準化算法將他們轉換到一個數值范圍內.

為了減少負載調度器的計算開銷,將模型的訓練階段的計算任務放到一個單獨的計算機中進行,稱之為模型訓練節點.模型訓練節點將模型訓練好之后通過網絡將結果發送給負載調度器,負載調度器用它來預測響應時間.

3.6 減少負載調度器的計算開銷

本算法為了提高任務調度的均衡性,給負載調度器增加了不少的額外計算開銷,而如果系統的額外開銷大于系統的優化,那么很容易進一步增加集群的負載.本算法的細節設計部分采用了以下幾種方法進行優化,以更大程度的減少負載調度器的計算開銷:

(1)將模型建立過程的計算任務放到一個獨立于負載調度器之外的計算機中執行,這樣降低了負載調度器的計算量.

(2)當處理完成的請求數達到一定數量后才矯正一次模型,而不是每一次處理完請求后都要矯正響應時間預測模型,減少了頻繁訓練模型帶來的計算量[8].

(3)隨著系統運行時間的增加逐漸增大矯正模型的請求量閾值.

當系統運行足夠長時間之后,模型就變得非常穩定了,所以就不需要頻繁矯正模型了.

4 實驗驗證

4.1 實驗環境

本文所使用的實驗環境如下:

(1)服務器節點

數量:16;硬件:6G 內存/2 核 4 線程 3.2 GHz CPU;軟件:CentOS 7 + Tomcat 8 + Redis + MySQL + kafka +商品秒殺系統(業務系統).

(2)負載調度器

數量:1;硬件:8G 內存/4 核 8 線程 3.3 GHz CPU;軟件:CentOS 7 + Nginx[8,9]1.12 + 本文所講述的負載平衡算法模塊.

(3)模型訓練節點

數量:1;硬件:4G 內存/2 核 4 線程 2.2 GHz CPU;軟件:CentOS 7 + Python3 + Scikit-learn.

(4)用戶端

數量:2;硬件:4G 內存/2 核 4 線程 2.2 GHz CPU;軟件:CentOS 7 + Java8 + JMeter.

4.2 實驗過程

本實驗使用JMeter[3]模擬用戶的高并發訪問請求;用商品秒殺系統作為實驗中的基準測試程序,該系統擁有完整的用戶登錄、注冊、管理模塊和商品瀏覽、搶購模塊;使用Scikit-learn[3]運行機器學習程序.

本實驗通過設置不同的并發量、不同的機器學習算法(決策樹 CART、向量機、KNN等算法)[10]、不同的服務器節點(4節點集群、8節點集群和16節點集群)來進行不同組的實驗,采用傳統的 URL散列算法作為對照組,得出實驗結果如圖2.

圖2 實驗結果

從實驗結果可以看出,本算法適用于小規模集群、高并發請求的場景.對于小集群、低并發請求和大集群高并發的情況,負載調度器的額外開銷超過了系統的優化,增加了系統的平均響應時間;而小集群、高并發請求的情況下,由于集群中服務器節點的性能是集群中的性能瓶頸,本算法優化了任務調度來均衡各服務器節點的性能,提高了集群的效率,降低了系統的平均響應時間.

5 總結

本文通過使用機器學習算法建立了響應時間預測模型對請求的響應時間進行預估,并使用最少響應時間策略進行負載調度,提高了小集群高并發場景下系統的效率.通過實驗驗證了本算法對減少集群的平均響應時間具有一定的效果.

猜你喜歡
用戶實驗模型
一半模型
記一次有趣的實驗
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
做個怪怪長實驗
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
主站蜘蛛池模板: 老色鬼久久亚洲AV综合| 国产精品微拍| 免费毛片a| 亚洲中久无码永久在线观看软件| 国产第一页第二页| 国产成人综合欧美精品久久| 2021国产v亚洲v天堂无码| 亚洲成人精品| 美女黄网十八禁免费看| 粗大猛烈进出高潮视频无码| 在线网站18禁| 色老头综合网| 国产精品免费露脸视频| 无码专区国产精品第一页| 色婷婷视频在线| 色精品视频| 亚洲,国产,日韩,综合一区| 久久久91人妻无码精品蜜桃HD| 国产精品久久久久久久伊一| 国产一区二区三区在线无码| 亚洲成人高清无码| 久久精品中文字幕免费| 国产精品午夜福利麻豆| 久久久精品国产SM调教网站| 另类综合视频| 国产一区二区三区在线观看免费| 青青草91视频| a国产精品| 国产极品美女在线观看| 日本五区在线不卡精品| 国产精品欧美在线观看| 国产精品自拍露脸视频| 日韩第一页在线| 久久久久中文字幕精品视频| 国产1区2区在线观看| 在线免费无码视频| 国产18在线播放| 国产第一福利影院| 国产精品漂亮美女在线观看| 在线观看国产精品第一区免费| 亚洲福利一区二区三区| 国产激爽爽爽大片在线观看| 国产呦精品一区二区三区下载| 国产精品一区二区无码免费看片| 亚洲日本韩在线观看| 国产精品久久精品| 91精品在线视频观看| 婷婷99视频精品全部在线观看| 免费无码AV片在线观看中文| 午夜在线不卡| 国产第一页免费浮力影院| 亚洲精品视频网| 亚洲一级无毛片无码在线免费视频| 国产人成网线在线播放va| 亚洲精品日产精品乱码不卡| 91精品久久久久久无码人妻| 国产精品999在线| 国产玖玖视频| igao国产精品| 亚洲av无码成人专区| 午夜一区二区三区| 国产91特黄特色A级毛片| AV熟女乱| 永久在线精品免费视频观看| 幺女国产一级毛片| 亚洲天堂免费| 久久国产黑丝袜视频| 9966国产精品视频| 日韩国产亚洲一区二区在线观看| 视频国产精品丝袜第一页| a色毛片免费视频| 日韩黄色精品| 国产aⅴ无码专区亚洲av综合网| 最新国产网站| 午夜三级在线| 谁有在线观看日韩亚洲最新视频 | 国产手机在线小视频免费观看| 色综合久久无码网| 久草视频精品| 亚洲码一区二区三区| 操美女免费网站| 九九久久99精品|