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
主站蜘蛛池模板: 美女无遮挡被啪啪到高潮免费| 国产视频入口| 国产美女无遮挡免费视频网站| 国产不卡一级毛片视频| 一区二区在线视频免费观看| 成人国产一区二区三区| 99久久免费精品特色大片| 国产凹凸视频在线观看| 国产毛片高清一级国语| 亚洲人成网站色7777| 久久国产乱子伦视频无卡顿| 欧美在线观看不卡| 成人午夜亚洲影视在线观看| 国产爽爽视频| 福利视频一区| 欧美狠狠干| 婷婷综合在线观看丁香| 67194亚洲无码| 永久免费av网站可以直接看的| 久热精品免费| 国内精品久久人妻无码大片高| 亚洲V日韩V无码一区二区| 亚洲综合专区| 成人免费午夜视频| 又爽又大又黄a级毛片在线视频| 黄色网在线| 精品国产免费第一区二区三区日韩| 国产精品女主播| 国产精品白浆无码流出在线看| 亚洲日韩精品无码专区| 国产精品所毛片视频| 日本一本在线视频| 在线观看无码av免费不卡网站| 国产视频一区二区在线观看| 国产精品流白浆在线观看| 伊人中文网| 88av在线| 91国内在线观看| 亚洲男人在线| 黄色网站不卡无码| 五月天久久婷婷| 无码一区中文字幕| 99中文字幕亚洲一区二区| 亚洲成a人片| 国产精品综合色区在线观看| 任我操在线视频| 国产最新无码专区在线| 国产成人凹凸视频在线| 日本影院一区| 麻豆精品国产自产在线| 青青青亚洲精品国产| 一本一道波多野结衣av黑人在线| 啪啪永久免费av| 夜夜操天天摸| 国产手机在线观看| 一级片免费网站| 日韩在线永久免费播放| 99久久精彩视频| 3p叠罗汉国产精品久久| 亚洲一区波多野结衣二区三区| 亚洲一区二区精品无码久久久| 午夜欧美在线| 91久久国产综合精品女同我| 亚洲综合经典在线一区二区| 日本少妇又色又爽又高潮| 97se综合| 精品無碼一區在線觀看 | 国产91丝袜在线播放动漫| 国产成人喷潮在线观看| 美女高潮全身流白浆福利区| 特级欧美视频aaaaaa| 狠狠色成人综合首页| 蜜芽一区二区国产精品| 亚洲中文无码h在线观看| 在线观看国产精美视频| 婷婷六月综合| 精品少妇人妻一区二区| 亚洲熟女中文字幕男人总站| 福利在线不卡| 欧美一区精品| 激情影院内射美女| 久久综合色88|