本發(fā)明涉及服務(wù)器容量管理技術(shù)領(lǐng)域,具體涉及一種分配服務(wù)器資源的方法和裝置。
背景技術(shù):
目前大型企業(yè)通常都有自己的虛擬化數(shù)據(jù)中心,采用虛擬化數(shù)據(jù)中心可以為企業(yè)節(jié)約人力維護(hù)成本,也可節(jié)約電力、機(jī)柜等物力成本。但是,中小型企業(yè)往往不具備這樣的條件,只能租借價(jià)格不菲的云服務(wù)器產(chǎn)品。而租借什么樣配置的才能最大化發(fā)揮作用,很難確定,企業(yè)針對(duì)不同業(yè)務(wù)開(kāi)發(fā)出的系統(tǒng),性能指標(biāo)不同,所需服務(wù)器資源也不相同。不同業(yè)務(wù)系統(tǒng)申請(qǐng)?jiān)品?wù)器資源時(shí)沒(méi)有一個(gè)有效的參考標(biāo)準(zhǔn),不知道申請(qǐng)什么規(guī)格的硬件資源,申請(qǐng)的硬件資源太多會(huì)造成資源浪費(fèi),申請(qǐng)的硬件資源太少會(huì)出現(xiàn)資源不夠用,后期擴(kuò)容和升級(jí)復(fù)雜等問(wèn)題。因此,如何申請(qǐng)到合適的服務(wù)器資源是企業(yè)開(kāi)發(fā)業(yè)務(wù)應(yīng)用時(shí)不得不解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種分配服務(wù)器資源的方法和裝置,以解決現(xiàn)有的業(yè)務(wù)應(yīng)用在申請(qǐng)服務(wù)器資源沒(méi)有參考標(biāo)準(zhǔn),無(wú)法申請(qǐng)到合適的硬件資源的問(wèn)題。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
根據(jù)本發(fā)明的一個(gè)方面,本發(fā)明提供了一種分配服務(wù)器資源的方法,該方法包括:
獲取不同類型業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集;
接收當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源的請(qǐng)求,并對(duì)當(dāng)前業(yè)務(wù)應(yīng)用的類型進(jìn) 行判斷;
根據(jù)當(dāng)前業(yè)務(wù)應(yīng)用類型的判斷結(jié)果,在獲取的性能測(cè)試結(jié)果集中,查找與當(dāng)前業(yè)務(wù)應(yīng)用類型相同的業(yè)務(wù)應(yīng)用及該類型相同的業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集,根據(jù)該查找到的性能測(cè)試結(jié)果集為該當(dāng)前業(yè)務(wù)應(yīng)用分配服務(wù)器資源。
可選地,根據(jù)該查找到的性能測(cè)試結(jié)果集為該當(dāng)前業(yè)務(wù)應(yīng)用分配服務(wù)器資源包括:
參考所述當(dāng)前業(yè)務(wù)應(yīng)用的性能指標(biāo),在所述性能測(cè)試結(jié)果集中,查找對(duì)應(yīng)的配置,按照查找結(jié)果為所述當(dāng)前業(yè)務(wù)應(yīng)用分配對(duì)應(yīng)配置的服務(wù)器資源。
可選地,當(dāng)前業(yè)務(wù)應(yīng)用的性能指標(biāo)包括如下指標(biāo)中的一種或者多種:
業(yè)務(wù)應(yīng)用欲實(shí)現(xiàn)的并發(fā)用戶數(shù);
業(yè)務(wù)應(yīng)用欲達(dá)到的平均響應(yīng)時(shí)間;
業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源的用途;
業(yè)務(wù)應(yīng)用是否支持集群性能。
可選地,方法還包括:根據(jù)當(dāng)前業(yè)務(wù)應(yīng)用是否存在異步交互以及總請(qǐng)求數(shù),確定當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源是作為前端服務(wù)器、后端服務(wù)器或數(shù)據(jù)庫(kù)服務(wù)器,從而得到當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源的用途。
可選地,服務(wù)器資源包括:
硬盤(pán)空間資源、內(nèi)存資源和CPU進(jìn)程資源。
根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種分配服務(wù)器資源的裝置,分配服務(wù)器資源的裝置包括:
性能測(cè)試結(jié)果集獲取單元,用于獲取不同類型業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集;
應(yīng)用類型判斷單元,用于接收當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源的請(qǐng)求,并對(duì)所述當(dāng)前業(yè)務(wù)應(yīng)用的類型進(jìn)行判斷;
資源分配單元,用于根據(jù)應(yīng)用類型判斷單元的判斷結(jié)果,在性能測(cè)試結(jié)果集獲取單元獲取的性能測(cè)試結(jié)果集中,查找與當(dāng)前業(yè)務(wù)應(yīng)用類型相同的業(yè)務(wù)應(yīng)用及該類型相同的業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集,根據(jù)該查找到的性能測(cè)試結(jié)果集為該當(dāng)前業(yè)務(wù)應(yīng)用分配服務(wù)器資源。
可選地,資源分配單元包括:
性能指標(biāo)參考單元,用于參考所述當(dāng)前業(yè)務(wù)應(yīng)用的性能指標(biāo),在所述性能測(cè)試結(jié)果集中,查找對(duì)應(yīng)的配置,按照查找結(jié)果為所述當(dāng)前業(yè)務(wù)應(yīng)用分配對(duì)應(yīng)配置的服務(wù)器資源。
可選地,當(dāng)前業(yè)務(wù)應(yīng)用的性能指標(biāo)包括如下指標(biāo)中的一種或者多種:
業(yè)務(wù)應(yīng)用欲實(shí)現(xiàn)的并發(fā)用戶數(shù);
業(yè)務(wù)應(yīng)用欲達(dá)到的平均響應(yīng)時(shí)間;
業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源的用途;
業(yè)務(wù)應(yīng)用是否支持集群性能。
可選地,性能指標(biāo)參考單元具體用于根據(jù)當(dāng)前業(yè)務(wù)應(yīng)用是否存在異步交互以及總請(qǐng)求數(shù)確定出當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源是作為前端服務(wù)器、后端服務(wù)器或數(shù)據(jù)庫(kù)服務(wù)器。
可選地,服務(wù)器資源包括:
硬盤(pán)空間資源、內(nèi)存資源和CPU進(jìn)程資源。
本發(fā)明的有益效果是:本發(fā)明的這種分配服務(wù)器資源的方法通過(guò)獲取不同類型業(yè)務(wù)應(yīng)用的性能測(cè)試結(jié)果集,使得服務(wù)器在面對(duì)申請(qǐng)服務(wù)器資源的當(dāng)前業(yè)務(wù)應(yīng)用時(shí),能夠根據(jù)當(dāng)前業(yè)務(wù)應(yīng)用的類型在已獲取到的同類型業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集中查找相應(yīng)的資源配置數(shù)據(jù),從而實(shí)現(xiàn)了在對(duì)當(dāng)前業(yè)務(wù)應(yīng)用不進(jìn)行性能測(cè)試的情況下,也能為當(dāng)前業(yè)務(wù)應(yīng)用分配到合適的服務(wù)器資源,簡(jiǎn)化了服務(wù)器資源分配的過(guò)程,實(shí)現(xiàn)了服務(wù)器容量管理。此外,本發(fā)明還提供了一種與上述分配服務(wù)器資源的方法相對(duì)應(yīng)的分配服務(wù)器資源的裝置,該分配服務(wù)器資源的裝置可以為申請(qǐng)服務(wù)器資源的業(yè)務(wù)應(yīng)用分配合理的 資源,提高容量管理的效率。
附圖說(shuō)明
圖1是本發(fā)明一個(gè)實(shí)施例的一種分配服務(wù)器資源的方法流程圖;
圖2是本發(fā)明一個(gè)實(shí)施例的性能測(cè)試結(jié)果集示意圖;
圖3是本發(fā)明一個(gè)實(shí)施例一種分配服務(wù)器資源的裝置的框圖。
具體實(shí)施方式
本發(fā)明的核心思想是:容量管理是為合適的應(yīng)用系統(tǒng)分配合適的資源,使應(yīng)用系統(tǒng)和資源利用達(dá)到最大化。對(duì)服務(wù)器而言,服務(wù)器會(huì)面對(duì)很多來(lái)申請(qǐng)資源的業(yè)務(wù)應(yīng)用,如何為每個(gè)業(yè)務(wù)應(yīng)用分配合適的服務(wù)器資源是服務(wù)器容量管理的任務(wù)。在本發(fā)明中,通過(guò)獲取不同類型業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集,并根據(jù)得到的性能測(cè)試結(jié)果集以及申請(qǐng)服務(wù)器資源的應(yīng)用的類型,服務(wù)器(更具體的是服務(wù)器上的分配服務(wù)器資源的裝置)在對(duì)應(yīng)的性能測(cè)試結(jié)果集中查找資源配置參考數(shù)據(jù),由于同類型的業(yè)務(wù)應(yīng)用所需的服務(wù)器資源往往差別不大,因而根據(jù)已有的性能測(cè)試結(jié)果集對(duì)當(dāng)前業(yè)務(wù)應(yīng)用分配服務(wù)器資源更加適合業(yè)務(wù)應(yīng)用的需要,避免了資源分配不足以及資源浪費(fèi)的發(fā)生,實(shí)現(xiàn)了服務(wù)器資源的容量管理。
圖1是本發(fā)明一個(gè)實(shí)施例的一種分配服務(wù)器資源的方法流程圖,參見(jiàn)圖1,本發(fā)明的這種分配服務(wù)器資源的方法包括:
步驟S110,獲取不同類型業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集;
步驟S120,接收當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源的請(qǐng)求,并對(duì)當(dāng)前業(yè)務(wù)應(yīng)用的類型進(jìn)行判斷;
步驟S130,根據(jù)當(dāng)前業(yè)務(wù)應(yīng)用類型的判斷結(jié)果,在獲取的性能測(cè)試結(jié)果集中,查找與當(dāng)前申請(qǐng)服務(wù)器資源的業(yè)務(wù)應(yīng)用類型相同的業(yè)務(wù)應(yīng)用及該類型相同的業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集,根據(jù)該查找到的性能測(cè)試結(jié)果集為 該當(dāng)前業(yè)務(wù)應(yīng)用分配服務(wù)器資源。
經(jīng)過(guò)圖1所示的步驟,服務(wù)器端在收到當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器請(qǐng)求后,先對(duì)當(dāng)前業(yè)務(wù)應(yīng)用的類型進(jìn)行判斷,在確定了當(dāng)前業(yè)務(wù)應(yīng)用的類型后,到同類型的業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集中查找具體的資源分配數(shù)據(jù),按照資源分配數(shù)據(jù)向當(dāng)前業(yè)務(wù)應(yīng)用分配服務(wù)器資源。如此實(shí)現(xiàn)了在不對(duì)當(dāng)前業(yè)務(wù)應(yīng)用進(jìn)行性能測(cè)試的前提下,也向當(dāng)前業(yè)務(wù)應(yīng)用分配合適的服務(wù)器資源的有益效果。
其中,性能測(cè)試主要是通過(guò)自動(dòng)化的測(cè)試工具模擬多種正常、峰值以及異常負(fù)載條件來(lái)對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試,不進(jìn)行性能測(cè)試就能夠分配合適的服務(wù)器資源是容量管理的理想狀態(tài),也是基于獲取的性能測(cè)試結(jié)果集的一個(gè)假設(shè)。如果企業(yè)是零基礎(chǔ),那么對(duì)不同類型的業(yè)務(wù)應(yīng)用的性能測(cè)試是不可避免的。由于不同類型業(yè)務(wù)應(yīng)用性能指標(biāo)不同,所需的服務(wù)器資源也不相同,而同類業(yè)務(wù)應(yīng)用之間在所需服務(wù)器資源上往往差別不大,因此可以通過(guò)對(duì)同類應(yīng)用中的一個(gè)業(yè)務(wù)應(yīng)用的性能測(cè)試結(jié)論匯聚成的性能測(cè)試結(jié)果集,理論支撐同類型的其他業(yè)務(wù)應(yīng)用的資源分配。這樣對(duì)同類型其他業(yè)務(wù)應(yīng)用而言就是不進(jìn)行測(cè)試也能分配到合適的資源。
本實(shí)施例中,性能測(cè)試結(jié)果集的獲取方式可以在實(shí)驗(yàn)室測(cè)試環(huán)境下,分別對(duì)不同類型的業(yè)務(wù)應(yīng)用中一個(gè)產(chǎn)品進(jìn)行性能測(cè)試,每個(gè)業(yè)務(wù)應(yīng)用分配多少服務(wù)器資源比較合適是服務(wù)器容量管理解決的問(wèn)題,CPU線程數(shù)、內(nèi)存、磁盤(pán)空間是需要服務(wù)器分配的主要的目標(biāo)資源。本發(fā)明實(shí)施例是以上述三項(xiàng)需分配的主要目標(biāo)資源為例進(jìn)行說(shuō)明,具體的每類業(yè)務(wù)應(yīng)用需要多少CPU線程數(shù)、內(nèi)存和磁盤(pán),通過(guò)性能測(cè)試模擬真實(shí)用戶使用的不同壓力場(chǎng)景(也就是并發(fā)用戶數(shù)),觀察不同CPU、內(nèi)存和磁盤(pán)空間所反饋的性能表現(xiàn),將該性能表現(xiàn)作為樣本數(shù)據(jù),記錄到性能測(cè)試結(jié)果集中,從而獲取到不同類型業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集。或者,根據(jù)現(xiàn)有的不同類型業(yè)務(wù)應(yīng)用分配到的資源以及相應(yīng)的性能表現(xiàn),將這些已有應(yīng)用的資源分配數(shù)據(jù)記錄下來(lái),作為不同類型業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集。具體實(shí)施時(shí)可從不同方式獲取 不同類型的業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集,對(duì)此不做限制。
這里的性能測(cè)試結(jié)果集不僅包括不同類型業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集,更具體的還可以包括同一業(yè)務(wù)應(yīng)用不同版本、不同功能以及不同規(guī)模的性能測(cè)試結(jié)果集,通過(guò)這些性能測(cè)試結(jié)果集可以指導(dǎo)該業(yè)務(wù)應(yīng)用的后續(xù)版本及其他同類型業(yè)務(wù)應(yīng)用(包括新開(kāi)發(fā)的業(yè)務(wù)應(yīng)用)的資源分配,以及指導(dǎo)新采購(gòu)的服務(wù)器進(jìn)行容量管理。
在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)該查找到的性能測(cè)試結(jié)果集為該當(dāng)前業(yè)務(wù)應(yīng)用分配服務(wù)器資源包括:參考當(dāng)前業(yè)務(wù)應(yīng)用的性能指標(biāo),在性能測(cè)試結(jié)果集中,查找對(duì)應(yīng)的配置,按照查找結(jié)果為當(dāng)前業(yè)務(wù)應(yīng)用分配對(duì)應(yīng)配置的服務(wù)器資源。本實(shí)施例中,性能指標(biāo)包括如下指標(biāo)中的一種或者多種:
業(yè)務(wù)應(yīng)用欲實(shí)現(xiàn)的并發(fā)用戶數(shù);
業(yè)務(wù)應(yīng)用欲達(dá)到的平均響應(yīng)時(shí)間;
業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源的用途;
業(yè)務(wù)應(yīng)用是否支持集群性能。
在本發(fā)明的一個(gè)實(shí)施例中,在根據(jù)當(dāng)前業(yè)務(wù)應(yīng)用類型的判斷結(jié)果確定了當(dāng)前業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集后,對(duì)于當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源的用途進(jìn)行判斷,根據(jù)判斷結(jié)果在與性能測(cè)試結(jié)果集中,查找對(duì)應(yīng)用途分配的內(nèi)存、磁盤(pán)空間和CPU線程數(shù),并根據(jù)內(nèi)存、磁盤(pán)空間和CPU線程數(shù)對(duì)當(dāng)前業(yè)務(wù)應(yīng)用進(jìn)行初次的服務(wù)器資源分配。本實(shí)施例中,對(duì)于當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源的用途進(jìn)行判斷具體是根據(jù)當(dāng)前業(yè)務(wù)應(yīng)用是否存在異步交互以及總請(qǐng)求數(shù)來(lái)判斷當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源判斷業(yè)務(wù)應(yīng)用是用作哪類服務(wù)器。
服務(wù)器在分配資源時(shí),先對(duì)申請(qǐng)服務(wù)器資源的用途進(jìn)行分類,根據(jù)用途不同,從性能測(cè)試結(jié)果集中查找同類型業(yè)務(wù)應(yīng)用不同用途對(duì)應(yīng)分配的資源數(shù)據(jù)。例如從性能測(cè)試結(jié)果集中查找到用作前端服務(wù)器的分配2核的CPU(2C)、4G內(nèi)存、10G磁盤(pán),用作后端服務(wù)器的分配4核的CPU(4C)、8G內(nèi)存、 10G磁盤(pán),用作數(shù)據(jù)庫(kù)服務(wù)器的分配4核的CPU(4C)、4G內(nèi)存、100G磁盤(pán)。這組數(shù)據(jù)是服務(wù)器在分配資源時(shí)的一個(gè)默認(rèn)配置。
這樣,申請(qǐng)服務(wù)器資源的當(dāng)前業(yè)務(wù)應(yīng)用只需要告訴服務(wù)器,申請(qǐng)服務(wù)器資源的用途相關(guān)的參數(shù),服務(wù)器根據(jù)業(yè)務(wù)應(yīng)用的類型在性能測(cè)試結(jié)果集中查找不同用途對(duì)應(yīng)的服務(wù)器資源分配數(shù)據(jù),并根據(jù)得到的這些服務(wù)器資源分配數(shù)據(jù)向當(dāng)前業(yè)務(wù)應(yīng)用分配服務(wù)器資源。如此無(wú)需對(duì)當(dāng)前業(yè)務(wù)應(yīng)用進(jìn)行性能測(cè)試,也能向當(dāng)前業(yè)務(wù)應(yīng)用分配合適的服務(wù)器資源。
并且,本發(fā)明的這種分配服務(wù)器資源的方法還可以避免只根據(jù)業(yè)務(wù)應(yīng)用的需求來(lái)分配服務(wù)器資源造成的資源浪費(fèi)和資源分配不足,例如,當(dāng)前業(yè)務(wù)應(yīng)用在申請(qǐng)服務(wù)器資源時(shí),請(qǐng)求分配100G磁盤(pán),用于存儲(chǔ)1年的測(cè)試數(shù)據(jù)。服務(wù)器端在收到請(qǐng)求后在通過(guò)在性能測(cè)試結(jié)果集中查找對(duì)應(yīng)存儲(chǔ)1年測(cè)試數(shù)據(jù)的磁盤(pán)所需的空間大小,將該查找到的磁盤(pán)空間分配給當(dāng)前業(yè)務(wù)應(yīng)用,此時(shí)向當(dāng)前業(yè)務(wù)應(yīng)用分配的磁盤(pán)空間可能不等于其請(qǐng)求的100G磁盤(pán)空間。服務(wù)器根據(jù)存儲(chǔ)1年測(cè)試數(shù)據(jù)真實(shí)占用多大磁盤(pán)空間進(jìn)行測(cè)試和假設(shè)后的結(jié)果來(lái)分配,例如用戶瀏覽一個(gè)網(wǎng)站,每點(diǎn)擊一下,系統(tǒng)記錄用戶行為日志產(chǎn)生一條數(shù)據(jù),假設(shè)同類型業(yè)務(wù)應(yīng)用一天大概有多少用戶使用,產(chǎn)生多少日志,從而大概計(jì)算出1年的數(shù)據(jù)占用多大磁盤(pán)空間,并將這些數(shù)據(jù)存入性能測(cè)試結(jié)果集中,供服務(wù)器分配資源時(shí)參考。
需要強(qiáng)調(diào)的是,本發(fā)明的這種分配服務(wù)器資源的方法是一種通過(guò)性能測(cè)試結(jié)果集的管理來(lái)實(shí)現(xiàn)容量管理。容量管理不是庫(kù)房管理,其主要是在硬件基礎(chǔ)上的軟件虛擬化技術(shù),容量管理同樣受軟件和硬件的制約。申請(qǐng)服務(wù)器資源的應(yīng)用的各指標(biāo)之間并不是線性相關(guān)的,具體分配資源時(shí)只能通過(guò)對(duì)各種應(yīng)用進(jìn)行性能測(cè)試,匯總出各種經(jīng)驗(yàn)案例存儲(chǔ)到性能測(cè)試結(jié)果集中。因而,在根據(jù)性能測(cè)試結(jié)果集在具體分配服務(wù)器資源時(shí),申請(qǐng)服務(wù)器資源的應(yīng)用的各個(gè)性能指標(biāo)之間可以單獨(dú)使用,也可以組合使用。
例如,當(dāng)前業(yè)務(wù)應(yīng)用在申請(qǐng)服務(wù)器資源時(shí),明確申請(qǐng)一臺(tái)服務(wù)器用作功能測(cè)試,沒(méi)有提出其他需求,那么,服務(wù)器就會(huì)在性能測(cè)試結(jié)果集中查找一 個(gè)做功能測(cè)試服務(wù)器的默認(rèn)配置,按照這個(gè)默認(rèn)配置給當(dāng)前業(yè)務(wù)應(yīng)用分配資源。
或者,當(dāng)前業(yè)務(wù)應(yīng)用在想申請(qǐng)服務(wù)器資源做數(shù)據(jù)處理,預(yù)期目標(biāo)是2000并發(fā)用戶數(shù),其他指標(biāo)項(xiàng)不明確,那么,服務(wù)器就到性能測(cè)試結(jié)果集中找到后端服務(wù)器處理能力達(dá)到2000并發(fā)用戶數(shù)的其他配置參數(shù),按照查找到的其他配置參數(shù)整體配置資源給當(dāng)前業(yè)務(wù)應(yīng)用。
或者,當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源欲實(shí)現(xiàn)2000并發(fā)用戶數(shù),16核(16C)CPU線程資源、32G內(nèi)存,用于數(shù)據(jù)處理,服務(wù)器查詢性能結(jié)果集后發(fā)現(xiàn)實(shí)現(xiàn)2000并發(fā)用戶數(shù)不需要16C的CPU線程資源,也不需要32G的內(nèi)存資源,那么,服務(wù)器拒絕當(dāng)前業(yè)務(wù)應(yīng)用的請(qǐng)求并只按照性能測(cè)試結(jié)果集中的數(shù)據(jù),分配一個(gè)支持2000并發(fā)用戶數(shù)對(duì)應(yīng)的配置給當(dāng)前業(yè)務(wù)應(yīng)用。
又或者,當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)一個(gè)數(shù)據(jù)庫(kù)服務(wù)器(申請(qǐng)服務(wù)器資源用作數(shù)據(jù)庫(kù)存儲(chǔ))以存儲(chǔ)一年的數(shù)據(jù),發(fā)起的申請(qǐng)請(qǐng)求為500G磁盤(pán)空間,其他配置沒(méi)有限制,那么服務(wù)器在性能測(cè)試結(jié)果集中查找對(duì)應(yīng)500G磁盤(pán)空間的操作量級(jí),將找到的配置數(shù)據(jù)例如4C、4G內(nèi)存、500G磁盤(pán)數(shù)據(jù)庫(kù)資源分配給當(dāng)前業(yè)務(wù)應(yīng)用。
在本發(fā)明的一個(gè)實(shí)施例中,如果申請(qǐng)服務(wù)器資源的當(dāng)前業(yè)務(wù)應(yīng)用還有進(jìn)一步的需求例如并發(fā)用戶數(shù)、事務(wù)平均響應(yīng)時(shí)間等,那么業(yè)務(wù)應(yīng)用再次請(qǐng)求服務(wù)器資源時(shí),服務(wù)器在初次分配給當(dāng)前業(yè)務(wù)應(yīng)用的資源的基礎(chǔ)上判斷是擴(kuò)容還是增加數(shù)據(jù)量。例如,初次分配服務(wù)器資源時(shí),當(dāng)前業(yè)務(wù)應(yīng)用分配到了2C的CPU、4G的內(nèi)存和10G的磁盤(pán),當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源是為了進(jìn)行功能測(cè)試,沒(méi)多少并發(fā)用戶數(shù)(并發(fā)用戶數(shù)是在同一時(shí)刻與服務(wù)器進(jìn)行了交互的在線用戶數(shù)量)。但是,如果當(dāng)前業(yè)務(wù)應(yīng)用的需求發(fā)生了改變,申請(qǐng)服務(wù)器資源是為了做生產(chǎn)環(huán)境,需要支持較多的用戶同時(shí)與服務(wù)器進(jìn)行交互,那么2C的CPU、4G內(nèi)存和10G磁盤(pán)這個(gè)配置就需要擴(kuò)容。服務(wù)器要根據(jù)當(dāng)前業(yè)務(wù)應(yīng)用的并發(fā)用戶數(shù),在與當(dāng)前業(yè)務(wù)應(yīng)用類型相同的業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集中查找同一并發(fā)用戶數(shù)對(duì)應(yīng)分配的內(nèi)存、磁盤(pán)空間和CPU線 程數(shù),并根據(jù)內(nèi)存、磁盤(pán)空間和CPU線程數(shù)對(duì)當(dāng)前業(yè)務(wù)應(yīng)用進(jìn)行二次的服務(wù)器資源分配。另外,如果向服務(wù)器申請(qǐng)資源的業(yè)務(wù)應(yīng)用是一個(gè)新產(chǎn)品可能還無(wú)法確定并發(fā)用戶數(shù),這樣服務(wù)器可以先按照默認(rèn)配置(例如2C的CPU、4G內(nèi)存和10G磁盤(pán))分配服務(wù)器資源給當(dāng)前業(yè)務(wù)應(yīng)用。
在本發(fā)明的其他實(shí)施例中,服務(wù)器可根據(jù)業(yè)務(wù)應(yīng)用的一個(gè)性能指標(biāo)即是否支持集群性能進(jìn)行資源分配,具體的,根據(jù)當(dāng)前業(yè)務(wù)應(yīng)用是否有集群要求,在性能測(cè)試結(jié)果集中查找有集群要求和無(wú)集群要求分別對(duì)應(yīng)分配的內(nèi)存、磁盤(pán)空間和CPU線程數(shù),并分配相同的內(nèi)存、磁盤(pán)空間和CPU線程數(shù)給當(dāng)前業(yè)務(wù)應(yīng)用。集群技術(shù)是一組相互獨(dú)立的、通過(guò)高速網(wǎng)絡(luò)互聯(lián)的計(jì)算機(jī),用戶與集群相互作用時(shí),集群服務(wù)器可看作一個(gè)獨(dú)立的服務(wù)器,集群配置能夠提高服務(wù)器的可用性。本發(fā)明實(shí)施例主要解決帶寬、硬件、穩(wěn)定性等配置都較高的高配服務(wù)器的資源分配問(wèn)題,高配服務(wù)器上可虛擬出多臺(tái)虛擬機(jī)。服務(wù)器在面對(duì)申請(qǐng)服務(wù)器資源的當(dāng)前應(yīng)用時(shí),如果申請(qǐng)服務(wù)器資源的當(dāng)前業(yè)務(wù)應(yīng)用有集群或者高可用性要求,那么服務(wù)器在與當(dāng)前業(yè)務(wù)應(yīng)用類型相同的業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集中查找有集群要求和無(wú)集群要求分別分配的內(nèi)存、磁盤(pán)空間和CPU線程數(shù),通常而言,如果當(dāng)前業(yè)務(wù)應(yīng)用有集群要求的,服務(wù)器會(huì)分配2臺(tái)配置相同(內(nèi)存、磁盤(pán)空間和CPU線程數(shù)目相同)的虛擬機(jī)或者更多的Java虛擬機(jī)給當(dāng)前業(yè)務(wù)應(yīng)用,如果當(dāng)前業(yè)務(wù)應(yīng)用沒(méi)有集群要求的,服務(wù)器通常會(huì)分配1臺(tái)虛擬機(jī)給當(dāng)前業(yè)務(wù)應(yīng)用。
圖2是本發(fā)明一個(gè)實(shí)施例的提供的性能測(cè)試結(jié)果集示意圖,參見(jiàn)圖2,圖2示出了不同并發(fā)用戶數(shù)、事務(wù)的平均響應(yīng)時(shí)間以及所需的JVM內(nèi)存大小之間的關(guān)系。在一定充裕的硬件資源下,通過(guò)改變業(yè)務(wù)應(yīng)用所需JVM的大小獲取不同的性能表現(xiàn)作為該業(yè)務(wù)應(yīng)用的樣本數(shù)據(jù),許多樣本數(shù)據(jù)匯集得到業(yè)務(wù)應(yīng)用的性能測(cè)試結(jié)果集。目前的業(yè)務(wù)應(yīng)用一般都是基于J2EE(Java 2Platform Enterprise Edition)平臺(tái)開(kāi)發(fā)的,這類業(yè)務(wù)應(yīng)用需要Java虛擬機(jī)JVM(Java Virtual Machine)才能運(yùn)行,JVM使用的是服務(wù)器的物理內(nèi)存。
通過(guò)響應(yīng)時(shí)間和所需JVM內(nèi)存大小來(lái)確定并發(fā)用戶數(shù)所需合理的物理 內(nèi)存大小。然后通過(guò)進(jìn)程綁定CPU技術(shù)降低業(yè)務(wù)應(yīng)用所使用的CPU線程數(shù),再測(cè)試一組數(shù)據(jù)來(lái)判斷相同并發(fā)用戶數(shù)和JVM內(nèi)存下,所需多少CPU線程最合理。
需要說(shuō)明的是,圖2只是示意性的示出了性能測(cè)試結(jié)果集中很小一部分?jǐn)?shù)據(jù),不表示性能測(cè)試結(jié)果集的全部。具體實(shí)施時(shí),服務(wù)器獲取到的不同類型業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集中可能包含很多組數(shù)據(jù),例如不同并發(fā)用戶數(shù)與所需JVM內(nèi)存之間的對(duì)應(yīng)關(guān)系,不同并發(fā)用戶數(shù)與所需CPU線程之間的對(duì)應(yīng)關(guān)系等等。服務(wù)器在收到申請(qǐng)服務(wù)器資源的當(dāng)前業(yè)務(wù)應(yīng)用的請(qǐng)求后,根據(jù)當(dāng)前業(yè)務(wù)應(yīng)用的類型在對(duì)應(yīng)的性能測(cè)試結(jié)果集中查找所需資源配置數(shù)據(jù),并根據(jù)找到的資源配置數(shù)據(jù)向當(dāng)前業(yè)務(wù)應(yīng)用分配合適的CPU線程、內(nèi)存和磁盤(pán)資源。
與上述分配服務(wù)器資源的方法相對(duì)應(yīng)的,本發(fā)明還提供了一種分配服務(wù)器資源的裝置,該分配服務(wù)器資源的裝置300包括:
性能測(cè)試結(jié)果集獲取單元310,用于獲取不同類型業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集;
應(yīng)用類型判斷單元320,用于接收當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源的請(qǐng)求,并對(duì)所述當(dāng)前業(yè)務(wù)應(yīng)用的類型進(jìn)行判斷;
資源分配單元330,用于根據(jù)所述應(yīng)用類型判斷單元的判斷結(jié)果,在所述性能測(cè)試結(jié)果集獲取單元獲取的性能測(cè)試結(jié)果集中,查找與所述當(dāng)前業(yè)務(wù)應(yīng)用類型相同的業(yè)務(wù)應(yīng)用及該類型相同的業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集,根據(jù)該查找到的性能測(cè)試結(jié)果集為該當(dāng)前業(yè)務(wù)應(yīng)用分配服務(wù)器資源。
在本發(fā)明的一個(gè)實(shí)施例中,該分配服務(wù)器資源的裝置300還包括:性能指標(biāo)參考單元,用于參考所述當(dāng)前業(yè)務(wù)應(yīng)用的性能指標(biāo),在所述性能測(cè)試結(jié)果集中,查找對(duì)應(yīng)的配置,按照查找結(jié)果為所述當(dāng)前業(yè)務(wù)應(yīng)用分配對(duì)應(yīng)配置的服務(wù)器資源。
在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)前業(yè)務(wù)應(yīng)用的性能指標(biāo)包括如下指標(biāo)中的 一種或者多種:
業(yè)務(wù)應(yīng)用欲實(shí)現(xiàn)的并發(fā)用戶數(shù);
業(yè)務(wù)應(yīng)用欲達(dá)到的平均響應(yīng)時(shí)間;
業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源的用途;
業(yè)務(wù)應(yīng)用是否支持集群性能。
在本發(fā)明的一個(gè)實(shí)施例中,性能指標(biāo)參考單元具體用于根據(jù)當(dāng)前業(yè)務(wù)應(yīng)用是否存在異步交互以及總請(qǐng)求數(shù)確定出當(dāng)前業(yè)務(wù)應(yīng)用申請(qǐng)服務(wù)器資源是作為前端服務(wù)器、后端服務(wù)器或數(shù)據(jù)庫(kù)服務(wù)器。
在本發(fā)明的一個(gè)實(shí)施例中,服務(wù)器資源包括:
硬盤(pán)空間資源、內(nèi)存資源和CPU進(jìn)程資源。
由于目前一個(gè)公司往往不只上線一款產(chǎn)品,而每款產(chǎn)品可能所屬領(lǐng)域的不同,性能指標(biāo)也不相同。企業(yè)可以本發(fā)明的方法通過(guò)性能測(cè)試結(jié)果,匯聚成一個(gè)性能測(cè)試結(jié)果集,幫助企業(yè)進(jìn)行容量管理。
本發(fā)明的這種技術(shù)方案的一個(gè)具體的應(yīng)用場(chǎng)景是:企業(yè)的資源管理部門(mén)和申請(qǐng)資源的部門(mén)是兩個(gè)不同的部門(mén),業(yè)務(wù)沒(méi)有交集。資源管理部門(mén)對(duì)申請(qǐng)資源的部門(mén)的申請(qǐng)一般應(yīng)該分配多少資源最合適,不清楚。例如申請(qǐng)資源的部門(mén)要申請(qǐng)兩臺(tái)服務(wù)器一臺(tái)用于應(yīng)用服務(wù)器,一臺(tái)用于數(shù)據(jù)庫(kù)服務(wù)器。資源管理部門(mén)分配2臺(tái)機(jī)器(其中,數(shù)據(jù)庫(kù)服務(wù)器的磁盤(pán)空間為20G)給申請(qǐng)資源部門(mén)使用,申請(qǐng)資源部門(mén)使用過(guò)程中發(fā)現(xiàn)數(shù)據(jù)庫(kù)服務(wù)器磁盤(pán)空間不足了,申請(qǐng)資源部門(mén)會(huì)繼續(xù)申請(qǐng)磁盤(pán)擴(kuò)容,因?yàn)?0G的磁盤(pán)空間,去掉操作系統(tǒng),軟件的占用,實(shí)際只有幾G的磁盤(pán)空間可以使用。由于資源管理部門(mén)沒(méi)有數(shù)據(jù)量級(jí)的概念,所以不會(huì)預(yù)先分配大的磁盤(pán)空間給申請(qǐng)資源的部門(mén),這往往會(huì)造成資源的浪費(fèi)和資源分配不足的問(wèn)題。此時(shí),如果能夠有一個(gè)有效參考標(biāo)準(zhǔn)去指導(dǎo)資源分配部門(mén)的分配工作,就可以基本解決資源分配中存在的上述問(wèn)題。因此,在資源分配之前,如果通過(guò)性能測(cè)試獲取性能測(cè)試結(jié)果集(該性能測(cè)試結(jié)果集通常是根據(jù)該企業(yè)的多個(gè)產(chǎn)品性能測(cè)試后得到的結(jié)果進(jìn)行匯 總)從而確定出的一個(gè)參考標(biāo)準(zhǔn),將這個(gè)參考標(biāo)準(zhǔn)提供給資源管理部門(mén)使用,得到數(shù)據(jù)庫(kù)服務(wù)器應(yīng)當(dāng)分配的磁盤(pán)空間的容量,那么可以一次性分配一個(gè)合理的磁盤(pán)空間給申請(qǐng)資源的部門(mén),能夠方便資源分配工作、提高資源分配的效率。
需要說(shuō)明的是,本發(fā)明的這種分配服務(wù)器資源的裝置是和前述的分配服務(wù)器資源的方法相對(duì)應(yīng)的,因而本實(shí)施例中分配服務(wù)器資源的裝置的工作過(guò)程可以參見(jiàn)前述分配服務(wù)器資源的方法部分的具體說(shuō)明,在此不再贅述。
綜上所述,本發(fā)明的這種分配服務(wù)器資源的方法通過(guò)獲取不同類型業(yè)務(wù)應(yīng)用的性能測(cè)試結(jié)果集,服務(wù)器在面對(duì)申請(qǐng)服務(wù)器資源的當(dāng)前業(yè)務(wù)應(yīng)用時(shí),根據(jù)當(dāng)前業(yè)務(wù)應(yīng)用的類型在已獲取到的同類型業(yè)務(wù)應(yīng)用對(duì)應(yīng)的性能測(cè)試結(jié)果集中查找相應(yīng)的資源配置數(shù)據(jù),實(shí)現(xiàn)了在不對(duì)當(dāng)前業(yè)務(wù)應(yīng)用進(jìn)行性能測(cè)試的前提下,也能為當(dāng)前業(yè)務(wù)應(yīng)用分配合適的服務(wù)器資源,簡(jiǎn)化了服務(wù)器資源分配的過(guò)程,實(shí)現(xiàn)了服務(wù)器容量管理。此外,本發(fā)明還提供了一種與上述分配服務(wù)器資源的方法相對(duì)應(yīng)的分配服務(wù)器資源的裝置,該分配服務(wù)器資源的裝置可以為申請(qǐng)服務(wù)器資源的業(yè)務(wù)應(yīng)用分配合理的資源,提高了容量管理的效率。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。