一種基于應(yīng)用性能損失分析的數(shù)據(jù)中心功率配給方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)中心管理技術(shù)領(lǐng)域,更具體地,涉及一種基于應(yīng)用性能損失分析的數(shù)據(jù)中心功率配給方法。
【背景技術(shù)】
[0002]在數(shù)據(jù)中心內(nèi)部,所有的服務(wù)器都分配有一定大小的功率配給,同時(shí)保證整個(gè)機(jī)架上的服務(wù)器的功率配給之和不超過機(jī)架電源的總功率。當(dāng)前,很多數(shù)據(jù)中心分配給服務(wù)器的功率配給是服務(wù)器的額定功率。然而,服務(wù)器實(shí)際運(yùn)行功率在大部分時(shí)間里遠(yuǎn)遠(yuǎn)低于額定功率,引起了功率配給的極大浪費(fèi),制約了機(jī)架裝機(jī)數(shù)量。因此,適當(dāng)降低數(shù)據(jù)中心內(nèi)服務(wù)器的功率配給,對提升機(jī)架裝機(jī)量,節(jié)約服務(wù)器的占地成本有著極為重要的意義。
[0003]降低服務(wù)器的功率配給,則有可能對部署在服務(wù)器中的應(yīng)用性能造成影響。為了減少服務(wù)器對功率配給的浪費(fèi),適當(dāng)犧牲應(yīng)用性能是可行的。因此,在制定服務(wù)器的功率配給時(shí),需要針對應(yīng)用可能產(chǎn)生的性能損失進(jìn)行分析。然而,已有的一些對應(yīng)用性能損失的分析方法并不能較好地反映出應(yīng)用的實(shí)際損失,為合理設(shè)置服務(wù)器功率配給制造了障礙。
[0004]數(shù)據(jù)中心的機(jī)架裝機(jī)量直接關(guān)乎到對數(shù)據(jù)中心的使用成本。例如,亞洲最大的網(wǎng)絡(luò)服務(wù)提供商騰訊的大部分?jǐn)?shù)據(jù)中心都是從中國電信、中國聯(lián)通等大型網(wǎng)絡(luò)運(yùn)營商租用的,并且租金是直接按照每年使用的機(jī)架數(shù)量進(jìn)行計(jì)費(fèi)的,當(dāng)服務(wù)器功率配給制定出現(xiàn)失誤時(shí),會(huì)給網(wǎng)絡(luò)服務(wù)提供商帶來巨大的成本浪費(fèi)。然而,如今的網(wǎng)絡(luò)服務(wù)提供商無法預(yù)測調(diào)整功率配給而對應(yīng)用造成的性能損失。
【發(fā)明內(nèi)容】
[0005]針對現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種基于應(yīng)用性能損失分析的數(shù)據(jù)中心功率配給方法,其目的在于,為網(wǎng)絡(luò)服務(wù)提供商預(yù)測調(diào)整功率配給而對應(yīng)用造成的性能損失,且具有反映直觀、準(zhǔn)確性高、計(jì)算效率高的特點(diǎn)。
[0006]為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種基于應(yīng)用性能損失分析的數(shù)據(jù)中心功率配給方法,其應(yīng)用在包括數(shù)據(jù)庫和服務(wù)器的數(shù)據(jù)中心中,所述方法包括以下步驟:
[0007](I)判斷數(shù)據(jù)庫中是否已經(jīng)存儲(chǔ)有服務(wù)器在任意t小時(shí)范圍內(nèi)的CPU使用率,如果是,則轉(zhuǎn)入步驟(5),否則進(jìn)入步驟(2);其中t為24的正整數(shù)倍;
[0008](2)判斷服務(wù)器是否已經(jīng)部署監(jiān)控進(jìn)程,如果是,則開啟該監(jiān)控進(jìn)程,并進(jìn)入步驟
(4),否則進(jìn)入步驟(3);
[0009](3)在服務(wù)器上部署監(jiān)控進(jìn)程,并開啟該進(jìn)程用于以時(shí)間間隔interval采集服務(wù)器的CPU使用率,然后進(jìn)入步驟(4);
[0010](4)采集服務(wù)器在任意t小時(shí)范圍內(nèi)的CPU使用率,并將該CPU使用率提交到數(shù)據(jù)庫,然后進(jìn)入步驟(5);
[0011 ] (5)獲取服務(wù)器的CPU使用率閾值所對應(yīng)的服務(wù)器的PDW和AD值;
[0012](6)判斷數(shù)據(jù)庫中是否存在服務(wù)器廠商提供的服務(wù)器的CPU使用率和功率之間的映射關(guān)系,如果是,則進(jìn)入步驟(8),否則進(jìn)入步驟(7);
[0013](7)測量服務(wù)器的CPU使用率和功率之間的映射關(guān)系,并進(jìn)入步驟⑶;
[0014](8)根據(jù)服務(wù)器的CPU使用率和功率的映射關(guān)系,將步驟(5)獲得的服務(wù)器的CPU使用率閾值所對應(yīng)的服務(wù)器的PDW值和AD值轉(zhuǎn)換成不同功率預(yù)算對應(yīng)的性能損失;
[0015](9)接收用戶提交的功率預(yù)算請求,該功率預(yù)算請求中包括其可接受的PDW和AD值;
[0016](10)根據(jù)該功率預(yù)算請求中的PDW值和AD值以及步驟⑶中獲得的對應(yīng)關(guān)系確定對應(yīng)的功率預(yù)算,從中選擇最低的功率預(yù)算,并將該最低的功率預(yù)算發(fā)送給用戶。
[0017]優(yōu)選地,步驟(5)包括以下子步驟:
[0018](5.1)將CPU使用率閾值設(shè)置為100% ;
[0019](5.2)判斷該CPU使用率閾值是否已經(jīng)低于0%。如果是,則進(jìn)入步驟(6),否則進(jìn)入步驟(5.3);
[0020](5.3)獲取采樣點(diǎn)的數(shù)量為t/interval,設(shè)置計(jì)數(shù)器i = 1,并設(shè)置延時(shí)任務(wù)量、總?cè)蝿?wù)量、延時(shí)任務(wù)量與延時(shí)乘積和、當(dāng)前積累的任務(wù)量WA的初始值均為O ;
[0021](5.4)判斷計(jì)數(shù)器i是否大于采樣點(diǎn)的數(shù)量t/interval,如果是,則進(jìn)入步驟(5.5),否則進(jìn)入步驟(5.7) ο
[0022](5.5)計(jì)算當(dāng)前CPU使用率閾值對應(yīng)的PDW值和AD值,其中PDW =延時(shí)任務(wù)量/總?cè)蝿?wù)量,AD =延時(shí)任務(wù)量與延時(shí)乘積和/延時(shí)任務(wù)量;
[0023](5.6)將CPU使用率閾值減少I %,然后返回步驟(5.2);
[0024](5.7)更新總?cè)蝿?wù)量=總?cè)蝿?wù)量+第i個(gè)采樣點(diǎn)處的CPU使用率*interval,任務(wù)量然后進(jìn)入步驟(5.8);
[0025](5.8)更新當(dāng)前積累的任務(wù)量WA = WA+ (第i個(gè)采樣點(diǎn)處的CPU使用率-CPU使用率閾值)*interval,并進(jìn)入步驟(5.9);
[0026](5.9)判斷WA是否大于0,如果是,則進(jìn)入步驟(5.10),否則進(jìn)入步驟(5.11);
[0027](5.10)計(jì)算延時(shí)任務(wù)量與延時(shí)乘積和=延時(shí)任務(wù)量與延時(shí)乘積和+WA*interval,以及延時(shí)任務(wù)量=延時(shí)任務(wù)量+第i個(gè)采樣點(diǎn)處的CPU使用率*interval,并進(jìn)入步驟(5.11);
[0028](5.11)設(shè)置 i = i+Ι,并返回步驟(5.4)。
[0029]按照本發(fā)明的另一方面,提供了一種基于應(yīng)用性能損失分析的數(shù)據(jù)中心功率配給系統(tǒng),其應(yīng)用在包括數(shù)據(jù)庫和服務(wù)器的數(shù)據(jù)中心中,所述系統(tǒng)包括:
[0030]第一模塊,用于判斷數(shù)據(jù)庫中是否已經(jīng)存儲(chǔ)有服務(wù)器在任意t小時(shí)范圍內(nèi)的CPU使用率,如果是,則轉(zhuǎn)入第五模塊,否則進(jìn)入第二模塊;其中t為24的正整數(shù)倍;
[0031]第二模塊,用于判斷服務(wù)器是否已經(jīng)部署監(jiān)控進(jìn)程,如果是,則開啟該監(jiān)控進(jìn)程,并進(jìn)入第四模塊,否則進(jìn)入第三模塊;
[0032]第三模塊,用于在服務(wù)器上部署監(jiān)控進(jìn)程,并開啟該進(jìn)程用于以時(shí)間間隔interval采集服務(wù)器的CPU使用率,然后進(jìn)入第四模塊;
[0033]第四模塊,用于采集服務(wù)器在任意t小時(shí)范圍內(nèi)的CPU使用率,并將該CPU使用率提交到數(shù)據(jù)庫,然后進(jìn)入第五模塊;
[0034]第五模塊,用于獲取服務(wù)器的CPU使用率閾值所對應(yīng)的服務(wù)器的PDW和AD值;
[0035]第六模塊,用于判斷數(shù)據(jù)庫中是否存在服務(wù)器廠商提供的服務(wù)器的CPU使用率和功率之間的映射關(guān)系,如果是,則進(jìn)入第八模塊,否則進(jìn)入第七模塊;
[0036]第七模塊,用于測量服務(wù)器的CPU使用率和功率之間的映射關(guān)系,并進(jìn)入第八模塊;
[0037]第八模塊,用于根據(jù)服務(wù)器的CPU使用率和功率的映射關(guān)系,將第五模塊獲得的服務(wù)器的CPU使用率閾值所對應(yīng)的服務(wù)器的PDW值和AD值轉(zhuǎn)換成不同功率預(yù)算對應(yīng)的性能損失;
[0038]第九模塊,用于接收用戶提交的功率預(yù)算請求,該功率預(yù)算請求中包括其可接受的PDff和AD值;
[0039]第十模塊,用于根據(jù)該功率預(yù)算請求中的PDW值和AD值以及第八模塊獲得的對應(yīng)關(guān)系確定對應(yīng)的功率預(yù)算,從中選擇最低的功率預(yù)算,并將該最低的功率預(yù)算發(fā)送給用戶。
[0040]總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有益效果:
[0041](I)本發(fā)明能夠預(yù)測調(diào)整功率配給而對應(yīng)用造成的性能損失:由于采用了步驟
(5)和步驟(8),根據(jù)服務(wù)器的CPU使用率可以分別獲得不同CPU使用率閾值和不同功率預(yù)算對應(yīng)的應(yīng)用性能損失PDW和AD,供數(shù)據(jù)中心管理員決策服務(wù)器的功率供給,因此本方法幫助網(wǎng)絡(luò)服務(wù)提