專利名稱:基于cpu心跳幅度的物理主機(jī)負(fù)載檢測方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于CPU心跳幅度的物理主機(jī)負(fù)載檢測方法,是針對物理主機(jī)資源動態(tài)優(yōu)化機(jī)制的改進(jìn),屬于計算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域。
背景技術(shù):
據(jù)申請人了解,目前在云計算環(huán)境下,物理主機(jī)負(fù)載檢測方法的核心思想都立足于中心偏離度統(tǒng)計值。例如,當(dāng)前最具影響力的四分間距(IQR)法即屬于基于中心偏離度統(tǒng)計值的物理主機(jī)負(fù)載檢測方法,其一般過程為將一系列原始數(shù)值依據(jù)從小到大順序重排列,然后將排序所得數(shù)列分成四等份,最后取第三個四分位上的數(shù)值與第一個四分位上的數(shù)值之差,作為判斷物理主機(jī)負(fù)載的依據(jù)。但是這種方法存在的主要問題是僅考慮到物理主機(jī)的平均負(fù)載分布,而未能考慮到物理主機(jī)運行過程中的抖動因素,致使現(xiàn)有方法很難快速、準(zhǔn)確地檢測到運行負(fù)載不穩(wěn)定的物理主機(jī),并使得系統(tǒng)運行時的物理主機(jī)主要耗能指標(biāo)較高(例如虛擬機(jī)實際遷移數(shù)量,遷移操作導(dǎo)致虛擬機(jī)性能下降比例,目標(biāo)待遷移虛擬機(jī)選擇時間,目標(biāo)虛擬機(jī)實際遷移時間平均值),導(dǎo)致物理主機(jī)能量消耗增加,且性能下降,使用戶體驗效果降低,最終使整個系統(tǒng)的運行、維護(hù)、管理成本上升?,F(xiàn)有技術(shù)中還存在使多臺物理主機(jī)負(fù)載均衡的方法,如申請?zhí)?00910238364. 2公布號CN101719081A的中國發(fā)明專利申請公開了一種虛擬機(jī)調(diào)度方法;申請?zhí)?01110199822. 3公布號CN102236582A的中國發(fā)明專利申請公開了一種虛擬化集群負(fù)載在多臺物理機(jī)中均衡分配的方法。這兩種方法基本上都是通過監(jiān)測虛擬機(jī)的實際負(fù)載及變化,預(yù)估虛擬機(jī)的最大負(fù)載,并將同一物理主機(jī)上所有虛擬機(jī)最大負(fù)載之和與該物理主機(jī)預(yù)設(shè)的最大負(fù)載限值進(jìn)行比較,若前者大于或等于后者,則認(rèn)為該物理主機(jī)過載或運行負(fù)載不穩(wěn)定。但是,由于這兩種方法并不是直接監(jiān)測物理主機(jī)的實際負(fù)載,很難及時檢測到物理主機(jī)運行過程中發(fā)生的抖動(如負(fù)載突然增大等),因此這兩種方法并不能解決前述現(xiàn)有物理主機(jī)負(fù)載檢測方法存在的技術(shù)問題。再如申請?zhí)?01110373058. 7公布號CN1025108718A的中國發(fā)明專利申請公開了一種虛擬機(jī)負(fù)載均衡方法和裝置,其方法判斷物理主機(jī)過載的標(biāo)準(zhǔn)為某物理主機(jī)最近連續(xù)N次負(fù)載指數(shù)均超過預(yù)設(shè)閾值時,則認(rèn)為該物理主機(jī)過載。其中,負(fù)載指數(shù)由CPU利用率、內(nèi)存使用率和IO吞吐量因子通過加權(quán)計算獲得,而IO吞吐量因子的確定過程為監(jiān)測若干物理主機(jī)在同一時期的IO吞吐量,選出值最大的IO吞吐量,再以各物理主機(jī)自身IO吞吐量與該最大IO吞吐量的比值為各物理主機(jī)的IO吞吐量因子。該方法以直接監(jiān)測到的物理主機(jī)參數(shù)作為判斷依據(jù),在一定程度上可以解決前述現(xiàn)有物理主機(jī)負(fù)載判斷方法存在的技術(shù)問題,但是該方法還存在以下主要問題(I)確定IO吞吐量因子時需要考慮到所有物理主機(jī)的IO吞吐量,而IO吞吐量因子本身是具有相對性的比值,這就決定了該方法僅適用于采用負(fù)載容量相同的同構(gòu)物理主機(jī)的系統(tǒng),若系統(tǒng)中存在負(fù)載容量不同的物理主機(jī),則難以判斷出物理主機(jī)是否過載;(2)需要以CPU利用率、內(nèi)存使用率和IO吞吐量因子三個變量來確定負(fù)載指數(shù),并需要以最近連續(xù)N次負(fù)載指數(shù)分別與預(yù)設(shè)閾值比較,這樣做雖然能在一定程度上防止誤判,但是也不可避免地增加了判斷過程的復(fù)雜程度,無疑會降低判斷的速度,很難滿足運算量極大的云計算系統(tǒng)對迅速找出過載物理主機(jī)的要求,同時也不利于降低能耗;(3)對該方法而言,預(yù)設(shè)閾值是判斷物理主機(jī)是否過載的重點之一,但是該專利申請文件中并未說明如何設(shè)定該閾值,而顯然該閾值是不能隨意設(shè)定的,需要反復(fù)實踐研究才能得出合適的閾值,使判斷結(jié)果與事實相符,也就是說該專利申請文件無法起到與閾值設(shè)定相關(guān)的教導(dǎo)作用。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)存在的問題,提供一種基于CPU心跳幅度的物理主機(jī)負(fù)載檢測方法,能快速、準(zhǔn)確地檢測出物理主機(jī)負(fù) 載狀態(tài),進(jìn)而降低物理主機(jī)主要耗能指標(biāo)、提升物理主機(jī)性能,并最終降低整個系統(tǒng)的運行、維護(hù)、管理成本。本發(fā)明解決其技術(shù)問題的技術(shù)方案如下一種基于CPU心跳幅度的物理主機(jī)負(fù)載檢測方法,其特征是,包括以下步驟第一步、為所有物理主機(jī)設(shè)定一致的監(jiān)控參數(shù),并以開始執(zhí)行本步驟時的時刻為各物理主機(jī)的判斷激活時刻U1);所述監(jiān)控參數(shù)包括CPU使用量采集周期(T),安全系數(shù)(S),歷史數(shù)據(jù)記錄數(shù)(N);各物理主機(jī)每隔所述CPU使用量采集周期(T)則采集一次CPU使用量數(shù)據(jù),并存入CPU使用量歷史記錄表(H);所述CPU使用量歷史記錄表(H)包括一組數(shù)量為歷史數(shù)據(jù)記錄數(shù)(N)的、最近的CPU使用量數(shù)據(jù)(H1, H2,. . . Hn);轉(zhuǎn)至第二步;第二步、各物理主機(jī)接到開始檢測指令后,分別以自身為當(dāng)前主機(jī)(M);轉(zhuǎn)至第三
I K
少;第三步、比較第二步結(jié)束時的時刻(t2)與當(dāng)前主機(jī)(M)的判斷激活時刻(^;若七2
>則轉(zhuǎn)至第四步,否則轉(zhuǎn)至第九步;第四步、讀取當(dāng)前主機(jī)(M)的CPU使用量歷史記錄表(H);轉(zhuǎn)至第五步;第五步、根據(jù)第四步讀取數(shù)據(jù),按預(yù)定第一算法計算當(dāng)前主機(jī)(M)的負(fù)載評估值(MH);轉(zhuǎn)至第六步;第六步、檢測當(dāng)前主機(jī)(M)上所有虛擬機(jī)的當(dāng)前CPU使用量,并計算得到虛擬機(jī)當(dāng)前CPU使用量之和(MVS);檢測當(dāng)前主機(jī)(M)的當(dāng)前CPU頻率(MSH);按預(yù)定第二算法計算當(dāng)前主機(jī)(M)的實際負(fù)載值(MR);轉(zhuǎn)至第七步;第七步、比較實際負(fù)載值(MR)和負(fù)載評估值(MH),若MR>MH則當(dāng)前主機(jī)(M)處于過載狀態(tài),否則當(dāng)前主機(jī)(M)處于正常狀態(tài);轉(zhuǎn)至第八步;第八步、向外部控制系統(tǒng)發(fā)送當(dāng)前主機(jī)(M)所處狀態(tài),并以第七步結(jié)束時刻為當(dāng)前主機(jī)(M)的判斷激活時間U1);轉(zhuǎn)至第九步;第九步、判斷是否停止檢測,若不停止則轉(zhuǎn)至第三步;若停止則結(jié)束檢測。本發(fā)明能快速、準(zhǔn)確地檢測出物理主機(jī)負(fù)載狀態(tài),進(jìn)而降低物理主機(jī)主要耗能指標(biāo)、提升物理主機(jī)性能,并最終降低整個系統(tǒng)的運行、維護(hù)、管理成本。
圖1為本發(fā)明實施例的流程示意圖。圖2為圖1實施例應(yīng)用案例中系統(tǒng)運行時能量消耗的結(jié)果示意圖。圖3為圖1實施例應(yīng)用案例中系統(tǒng)運行時虛擬機(jī)實際遷移數(shù)量的結(jié)果示意圖。圖4為圖1實施例應(yīng)用案例中系統(tǒng)運行時遷移操作導(dǎo)致虛擬機(jī)性能下降比例的結(jié)果示意圖。圖5為圖1實施例應(yīng)用案例中系統(tǒng)運行時目標(biāo)待遷移虛擬機(jī)選擇時間的結(jié)果示意圖。圖6為圖1實施例應(yīng)用案例中系統(tǒng)運行時目標(biāo)虛擬機(jī)實際遷移時間平均值的結(jié)果示意圖。
具體實施例方式下面參照附圖并結(jié)合實施例對本發(fā)明作進(jìn)一步詳細(xì)描述。但是本發(fā)明不限于所給出的例子。實施例本實施例基于CPU心跳幅度的物理主機(jī)負(fù)載檢測方法如圖1所示,包括以下步驟第一步、為所有物理主機(jī)設(shè)定一致的監(jiān)控參數(shù),并以開始執(zhí)行本步驟時的時刻為各物理主機(jī)的判斷激活時刻U1);所述監(jiān)控參數(shù)包括CPU使用量采集周期(T),安全系數(shù)
(S),歷史數(shù)據(jù)記錄數(shù)(N);各物理主機(jī)每隔CPU使用量采集周期(T)則采集一次CPU使用量數(shù)據(jù),并存入CPU使用量歷史記錄表(H);所述CPU使用量歷史記錄表(H)包括一組數(shù)量為歷史數(shù)據(jù)記錄數(shù)(N)的、最近的CPU使用量數(shù)據(jù)(H1, H2, . . . Hn);轉(zhuǎn)至第二步;第二步、各物理主機(jī)接到開始檢測指令后,分別以自身為當(dāng)前主機(jī)(M);轉(zhuǎn)至第三
I K
少;第三步、比較第二步結(jié)束時的時刻(t2)與當(dāng)前主機(jī)(M)的判斷激活時刻(^;若七2
>則轉(zhuǎn)至第四步,否則轉(zhuǎn)至第九步;第四步、讀取當(dāng)前主機(jī)(M)的CPU使用量歷史記錄表(H);轉(zhuǎn)至第五步;第五步、根據(jù)第四步讀取數(shù)據(jù),計算當(dāng)前主機(jī)(M)的負(fù)載評估值(MH)
權(quán)利要求
1.一種基于CPU心跳幅度的物理主機(jī)負(fù)載檢測方法,其特征是,包括以下步驟第一步、為所有物理主機(jī)設(shè)定一致的監(jiān)控參數(shù),并以開始執(zhí)行本步驟時的時刻為各物理主機(jī)的判斷激活時刻U1);所述監(jiān)控參數(shù)包括CPU使用量采集周期(T),安全系數(shù)(S),歷史數(shù)據(jù)記錄數(shù)(N);各物理主機(jī)每隔所述CPU使用量采集周期(T)則采集一次CPU使用量數(shù)據(jù),并存入CPU使用量歷史記錄表(H);所述CPU使用量歷史記錄表(H)包括一組數(shù)量為歷史數(shù)據(jù)記錄數(shù)(N)的、最近的CPU使用量數(shù)據(jù)(H1, H2,, . . . Hn);轉(zhuǎn)至第二步;第二步、各物理主機(jī)接到開始檢測指令后,分別以自身為當(dāng)前主機(jī)(M);轉(zhuǎn)至第三步; 第三步、比較第二步結(jié)束時的時刻(t2)與當(dāng)前主機(jī)(M)的判斷激活時刻U1);若t2 > h則轉(zhuǎn)至第四步,否則轉(zhuǎn)至第九步;第四步、讀取當(dāng)前主機(jī)(M)的CPU使用量歷史記錄表(H);轉(zhuǎn)至第五步;第五步、根據(jù)第四步讀取數(shù)據(jù),按預(yù)定第一算法計算當(dāng)前主機(jī)(M)的負(fù)載評估值(MH); 轉(zhuǎn)至第六步;第六步、檢測當(dāng)前主機(jī)(M)上所有虛擬機(jī)的當(dāng)前CPU使用量,并計算得到虛擬機(jī)當(dāng)前 CPU使用量之和(MVS);檢測當(dāng)前主機(jī)(M)的當(dāng)前CPU頻率(MSH);按預(yù)定第二算法計算當(dāng)前主機(jī)(M)的實際負(fù)載值(MR);轉(zhuǎn)至第七步;第七步、比較實際負(fù)載值(MR)和負(fù)載評估值(MH),若MR>MH則當(dāng)前主機(jī)(M)處于過載狀態(tài),否則當(dāng)前主機(jī)(M)處于正常狀態(tài);轉(zhuǎn)至第八步;第八步、向外部控制系統(tǒng)發(fā)送當(dāng)前主機(jī)(M)所處狀態(tài),并以第七步結(jié)束時刻為當(dāng)前主機(jī) (M)的判斷激活時間U1);轉(zhuǎn)至第九步;第九步、判斷是否停止檢測,若不停止則轉(zhuǎn)至第三步;若停止則結(jié)束檢測。
2.根據(jù)權(quán)利要求1所述基于CPU心跳幅度的物理主機(jī)負(fù)載檢測方法,其特征是,第五步中,所述預(yù)定第一算法為
3.根據(jù)權(quán)利要求2所述基于CPU心跳幅度的物理主機(jī)負(fù)載檢測方法,其特征是,第六步中,所述預(yù)定第二算法為
全文摘要
本發(fā)明涉及一種基于CPU心跳幅度的物理主機(jī)負(fù)載檢測方法,包括以下步驟為所有物理主機(jī)設(shè)定一致的監(jiān)控參數(shù),并設(shè)定各物理主機(jī)的判斷激活時刻;各物理主機(jī)接到開始檢測指令,判斷激活,然后讀取CPU使用量歷史記錄表(H),計算負(fù)載評估值(MH)和實際負(fù)載值(MR),若MR>MH則處于過載狀態(tài),否則處于正常狀態(tài)。本發(fā)明能快速、準(zhǔn)確地檢測出物理主機(jī)負(fù)載狀態(tài),進(jìn)而降低物理主機(jī)主要耗能指標(biāo)、提升物理主機(jī)性能,并最終降低整個系統(tǒng)的運行、維護(hù)、管理成本。
文檔編號G06F1/32GK103019366SQ201210494858
公開日2013年4月3日 申請日期2012年11月28日 優(yōu)先權(quán)日2012年11月28日
發(fā)明者雷萬保, 崔珞琨, 汪楊 申請人:國睿集團(tuán)有限公司, 南京物聯(lián)網(wǎng)應(yīng)用研究院有限公司