本發(fā)明涉及測試技術(shù),尤其涉及一種設(shè)備性能測試方法及裝置。
背景技術(shù):
隨著云計算、大數(shù)據(jù)的快速發(fā)展,在服務(wù)器的采購和運行維護等方面的投入也越來越大,因此對于提高服務(wù)器利用率、降低服務(wù)器的成本有著越來越高的期望。然而,當前大部分服務(wù)器長期工作在利用率較低的狀況下,以CPU為例,大多數(shù)應(yīng)用系統(tǒng)的利用率長期低于30%。其中的一個重要原因,就是服務(wù)器的CPU、內(nèi)存、磁盤和網(wǎng)絡(luò)等資源與實際應(yīng)用負載沒有能夠合理的匹配,導(dǎo)致某方面資源出現(xiàn)瓶頸時,另一方面由于擔(dān)心資源無法滿足應(yīng)用性能需求,實際配置數(shù)量往往嚴重過剩。
解決這一問題的重要技術(shù)手段,是在應(yīng)用系統(tǒng)上線之前開展服務(wù)器性能測試,從而根據(jù)應(yīng)用系統(tǒng)需要滿足的性能要求,確定服務(wù)器的合理CPU、內(nèi)存、磁盤或網(wǎng)絡(luò)資源的配置。遺憾的是,目前尚未有解決方案可供參考。
技術(shù)實現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明實施例提供了一種設(shè)備性能測試方法及裝置。
一種設(shè)備性能測試方法,所述方法包括:
對參考系統(tǒng)中的各應(yīng)用的業(yè)務(wù)負載進行檢測,統(tǒng)計所述各應(yīng)用運行過程中的業(yè)務(wù)負載狀況;
根據(jù)所統(tǒng)計的業(yè)務(wù)負載狀況為所述各應(yīng)用分別建立業(yè)務(wù)負載模型;
在待測設(shè)備安裝負載生成的應(yīng)用、與所述負載生成的應(yīng)用對應(yīng)的業(yè)務(wù)負載模型,并使所述負載生成的應(yīng)用與所述業(yè)務(wù)負載模型通過應(yīng)用接口連接;其中,所述負載生成的應(yīng)用能根據(jù)設(shè)定策略生成與所述業(yè)務(wù)負載模型對應(yīng)的應(yīng)用的業(yè) 務(wù)負載;
控制所述負載生成的應(yīng)用對所述業(yè)務(wù)負載模型施加業(yè)務(wù)負載,統(tǒng)計所述待測設(shè)備中所述業(yè)務(wù)負載模型導(dǎo)致的資源使用狀況而作為性能測試數(shù)據(jù)。
優(yōu)選地,所述對參考系統(tǒng)中的各應(yīng)用的業(yè)務(wù)負載進行檢測,統(tǒng)計所述各應(yīng)用運行過程中的業(yè)務(wù)負載狀況,包括:
檢測周期到來時,檢測所述參考系統(tǒng)中的應(yīng)用被調(diào)用時所述參考系統(tǒng)所消耗的資源;
統(tǒng)計每一檢測周期所消耗的所述參考系統(tǒng)的資源,作為相應(yīng)檢測周期所對應(yīng)的業(yè)務(wù)負載。
優(yōu)選地,所述參考系統(tǒng)為處理設(shè)備中所安裝的包含有各種應(yīng)用的操作系統(tǒng)。
優(yōu)選地,所述根據(jù)所統(tǒng)計的業(yè)務(wù)負載狀況為所述各應(yīng)用分別建立業(yè)務(wù)負載模型,包括:
基于對所述參考系統(tǒng)中的各應(yīng)用所統(tǒng)計的大量業(yè)務(wù)負載狀況,以及數(shù)據(jù)分析、機器學(xué)習(xí)的算法進行數(shù)據(jù)分析,并建立各應(yīng)用的業(yè)務(wù)負載模型;所述業(yè)務(wù)負載模型至少能夠?qū)崿F(xiàn)下述任務(wù):能夠反映在任一業(yè)務(wù)負載下的各資源的配比關(guān)系;能夠反映各資源參數(shù)在時間上的大致分布;具有一定的外延能力,當超出所統(tǒng)計樣本數(shù)據(jù)范圍時,能夠預(yù)測樣本數(shù)據(jù)外的業(yè)務(wù)負載下的各資源的配比關(guān)系。
優(yōu)選地,所述資源包括以下資源的至少之一:
CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)負載。
優(yōu)選地,所述業(yè)務(wù)負載包括以下至少之一:
對于數(shù)據(jù)庫應(yīng)用,業(yè)務(wù)負載包括單位時間處理事務(wù)數(shù);
對于Web應(yīng)用,業(yè)務(wù)負載包括單位時間訪問量;
對于CPU,業(yè)務(wù)負載包括CPU的處理能力,所述處理能力基于標準性能評估結(jié)果與當前的利用率進行折算;
對于磁盤,業(yè)務(wù)負載包括每秒進行讀寫操作的次數(shù)或吞吐量。
一種設(shè)備性能測試裝置,所述裝置包括:檢測單元、模型建立單元、安裝 單元和統(tǒng)計單元,其中:
檢測單元,用于對參考系統(tǒng)中的各應(yīng)用的業(yè)務(wù)負載進行檢測,統(tǒng)計所述各應(yīng)用運行過程中的業(yè)務(wù)負載狀況;
模型建立單元,用于根據(jù)所統(tǒng)計的業(yè)務(wù)負載狀況為所述各應(yīng)用分別建立業(yè)務(wù)負載模型;
安裝單元,用于在待測設(shè)備安裝負載生成的應(yīng)用、與所述負載生成的應(yīng)用對應(yīng)的業(yè)務(wù)負載模型,并使所述負載生成的應(yīng)用與所述業(yè)務(wù)負載模型通過應(yīng)用接口連接;其中,所述負載生成的應(yīng)用能根據(jù)設(shè)定策略生成與所述業(yè)務(wù)負載模型對應(yīng)的應(yīng)用的業(yè)務(wù)負載;
統(tǒng)計單元,用于控制所述負載生成的應(yīng)用對所述業(yè)務(wù)負載模型施加業(yè)務(wù)負載,統(tǒng)計所述待測設(shè)備中所述業(yè)務(wù)負載模型導(dǎo)致的資源使用狀況而作為性能測試數(shù)據(jù)。
優(yōu)選地,所述檢測單元,還用于:當檢測周期到來時,檢測所述參考系統(tǒng)中的應(yīng)用被調(diào)用時所述參考系統(tǒng)所消耗的資源;統(tǒng)計每一檢測周期所消耗的所述參考系統(tǒng)的資源,作為相應(yīng)檢測周期所對應(yīng)的業(yè)務(wù)負載。
優(yōu)選地,所述參考系統(tǒng)為處理設(shè)備中所安裝的包含有各種應(yīng)用的操作系統(tǒng)。
優(yōu)選地,所述模型建立單元,還用于:基于對所述參考系統(tǒng)中的各應(yīng)用所統(tǒng)計的大量業(yè)務(wù)負載狀況,以及數(shù)據(jù)分析、機器學(xué)習(xí)的算法進行數(shù)據(jù)分析,并建立各應(yīng)用的業(yè)務(wù)負載模型;所述業(yè)務(wù)負載模型至少能夠?qū)崿F(xiàn)下述任務(wù):能夠反映在任一業(yè)務(wù)負載下的各資源的配比關(guān)系;能夠反映各資源參數(shù)在時間上的大致分布;具有一定的外延能力,當超出所統(tǒng)計樣本數(shù)據(jù)范圍時,能夠預(yù)測樣本數(shù)據(jù)外的業(yè)務(wù)負載下的各資源的配比關(guān)系。
優(yōu)選地,所述資源包括以下資源的至少之一:
CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)負載。
優(yōu)選地,所述業(yè)務(wù)負載包括以下至少之一:
對于數(shù)據(jù)庫應(yīng)用,業(yè)務(wù)負載包括單位時間處理事務(wù)數(shù);
對于Web應(yīng)用,業(yè)務(wù)負載包括單位時間訪問量;
對于CPU,業(yè)務(wù)負載包括CPU的處理能力,所述處理能力基于標準性能評估結(jié)果與當前的利用率進行折算;
對于磁盤,業(yè)務(wù)負載包括每秒進行讀寫操作的次數(shù)或吞吐量。
本發(fā)明實施例的技術(shù)方案中,對參考系統(tǒng)中的各應(yīng)用的業(yè)務(wù)負載進行檢測,統(tǒng)計所述各應(yīng)用運行過程中的業(yè)務(wù)負載狀況;根據(jù)所統(tǒng)計的業(yè)務(wù)負載狀況為所述各應(yīng)用分別建立業(yè)務(wù)負載模型;在待測設(shè)備安裝負載生成的應(yīng)用、與所述負載生成的應(yīng)用對應(yīng)的業(yè)務(wù)負載模型,并使所述負載生成的應(yīng)用與所述業(yè)務(wù)負載模型通過應(yīng)用接口連接;其中,所述負載生成的應(yīng)用能根據(jù)設(shè)定策略生成與所述業(yè)務(wù)負載模型對應(yīng)的應(yīng)用的業(yè)務(wù)負載;控制所述負載生成的應(yīng)用對所述業(yè)務(wù)負載模型施加業(yè)務(wù)負載,統(tǒng)計所述待測設(shè)備中所述業(yè)務(wù)負載模型導(dǎo)致的資源使用狀況而作為性能測試數(shù)據(jù)。本發(fā)明實施例不需要在被測設(shè)備如服務(wù)器上安裝相應(yīng)的應(yīng)用系統(tǒng),可以針對不同類型的應(yīng)用開展性能測試進行檢測,應(yīng)用范圍更廣,通過對待測設(shè)備進行性能檢測,提升了待測設(shè)備的資源配置的優(yōu)化效率;能夠更加準確地確定針對應(yīng)用負載需求的服務(wù)器CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)等資源的合理配比關(guān)系,從而提升待測設(shè)備的資源利用率,降低待測設(shè)備采購和運行成本。
附圖說明
圖1為本發(fā)明實施例的設(shè)備性能測試方法的流程示意圖;
圖2為本發(fā)明實施例的設(shè)備性能測試系統(tǒng)的架構(gòu)示意圖;
圖3為本發(fā)明實施例的設(shè)備性能測試裝置的組成結(jié)構(gòu)示意圖。
具體實施方式
為了能夠更加詳盡地了解本發(fā)明實施例的特點與技術(shù)內(nèi)容,下面結(jié)合附圖對本發(fā)明實施例的實現(xiàn)進行詳細闡述,所附附圖僅供參考說明之用,并非用來限定本發(fā)明實施例。
圖1為本發(fā)明實施例的設(shè)備性能測試方法的流程示意圖,如圖1所示,本發(fā)明實施例的設(shè)備性能測試方法包括以下步驟:
步驟101,對參考系統(tǒng)中的各應(yīng)用的業(yè)務(wù)負載進行檢測,統(tǒng)計所述各應(yīng)用運行過程中的業(yè)務(wù)負載狀況。
本發(fā)明實施例中,對參考系統(tǒng)中的各應(yīng)用的業(yè)務(wù)負載進行檢測,統(tǒng)計所述各應(yīng)用運行過程中的業(yè)務(wù)負載狀況,具體包括:檢測周期到來時,檢測所述參考系統(tǒng)中的應(yīng)用被調(diào)用時所述參考系統(tǒng)所消耗的資源;統(tǒng)計每一檢測周期所消耗的所述參考系統(tǒng)的資源,作為相應(yīng)檢測周期所對應(yīng)的業(yè)務(wù)負載。
檢測周期根據(jù)需要設(shè)定,可以是1秒、0.5秒、100毫秒等單位,也可以設(shè)為2秒、5秒、10秒、20秒、30秒、1分鐘等檢測周期。本發(fā)明實施例中,業(yè)務(wù)負載狀況主要是檢測相關(guān)應(yīng)用所消耗的系統(tǒng)資源,包括CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)負載等。
業(yè)務(wù)負載與具體應(yīng)用相關(guān),比如數(shù)據(jù)庫應(yīng)用一般采用單位時間處理事務(wù)數(shù)、Web應(yīng)用一般采用單位時間訪問量等表示;CPU、內(nèi)存、磁盤和網(wǎng)絡(luò)等物理資源,則采用業(yè)界比較通用的處理能力評價指標,比如CPU可以基于標準性能評估公司(SPEC,Standard Performance Evaluation Corporation)CPU測試結(jié)果與當前利用率進行折算,磁盤可采用每秒進行讀寫(I/O)操作的次數(shù)(IOPS,Input/Output Operations Per Second)或吞吐量(MB/s)等指標來衡量。
步驟102,根據(jù)所統(tǒng)計的業(yè)務(wù)負載狀況為所述各應(yīng)用分別建立業(yè)務(wù)負載模型。
本發(fā)明實施例中,所述根據(jù)所統(tǒng)計的業(yè)務(wù)負載狀況為所述各應(yīng)用分別建立業(yè)務(wù)負載模型,具體包括:
基于對所述參考系統(tǒng)中的各應(yīng)用所統(tǒng)計的大量業(yè)務(wù)負載狀況,以及數(shù)據(jù)分析、機器學(xué)習(xí)的算法進行數(shù)據(jù)分析,并建立各應(yīng)用的業(yè)務(wù)負載模型;所述業(yè)務(wù)負載模型至少能夠?qū)崿F(xiàn)下述任務(wù):能夠反映在任一業(yè)務(wù)負載下的各資源的配比關(guān)系;能夠反映各資源參數(shù)在時間上的大致分布;具有一定的外延能力,當超出所統(tǒng)計樣本數(shù)據(jù)范圍時,能夠預(yù)測樣本數(shù)據(jù)外的業(yè)務(wù)負載下的各資源的配比 關(guān)系。
具體地,負責(zé)基于所統(tǒng)計的大量同類系統(tǒng)的數(shù)據(jù),通過分析后建立業(yè)務(wù)負載模型,這個模型至少包括兩個緯度:
(a)模型能夠反映各資源的配比關(guān)系。各種數(shù)據(jù)和經(jīng)驗表明,業(yè)務(wù)負載與CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)負載等之間不存在一種簡單的線性關(guān)系,CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)等資源也不是同比例增長的關(guān)系,由于應(yīng)用系統(tǒng)中各資源之間相互影響,(例如數(shù)據(jù)從網(wǎng)絡(luò)獲取、放入內(nèi)存,經(jīng)過CPU處理后再寫入磁盤),最終可能是非常復(fù)雜的非線性關(guān)系。
(b)模型要能夠反映出業(yè)務(wù)負載相關(guān)參數(shù)在時間上的大致分布,即在實際業(yè)務(wù)系統(tǒng)中,對CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)等資源使用的變化情況,是相對比較穩(wěn)定,還是在一段時間以內(nèi)(比如一天)負載的變化比較劇烈。
因此,一些數(shù)據(jù)分析、機器學(xué)習(xí)(如神經(jīng)網(wǎng)絡(luò))等算法可以被用于其中的對應(yīng)關(guān)系建模。建模完成后,業(yè)務(wù)負載模型將具有一定的外延能力,即指定一個超出此前樣本范圍內(nèi)沒有出現(xiàn)的業(yè)務(wù)負載,能夠大致預(yù)測出對應(yīng)CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)等資源的相應(yīng)取值,反之亦然。而這種預(yù)測應(yīng)該也不是精確的,是一個范圍到另一個范圍的預(yù)測。
步驟103,在待測設(shè)備安裝負載生成的應(yīng)用、與所述負載生成的應(yīng)用對應(yīng)的業(yè)務(wù)負載模型,并使所述負載生成的應(yīng)用與所述業(yè)務(wù)負載模型通過應(yīng)用接口連接。
所述負載生成的應(yīng)用能根據(jù)設(shè)定策略生成與所述業(yè)務(wù)負載模型對應(yīng)的應(yīng)用的業(yè)務(wù)負載。
步驟104,控制所述負載生成的應(yīng)用對所述業(yè)務(wù)負載模型施加業(yè)務(wù)負載,統(tǒng)計所述待測設(shè)備中所述業(yè)務(wù)負載模型導(dǎo)致的資源使用狀況而作為性能測試數(shù)據(jù)。
本發(fā)明實施例中,參考系統(tǒng)為處理設(shè)備中所安裝的包含有各種應(yīng)用的操作系統(tǒng)。優(yōu)選地,所述業(yè)務(wù)負載包括以下至少之一:
對于數(shù)據(jù)庫應(yīng)用,業(yè)務(wù)負載包括單位時間處理事務(wù)數(shù);
對于Web應(yīng)用,業(yè)務(wù)負載包括單位時間訪問量;
對于CPU,業(yè)務(wù)負載包括CPU的處理能力,所述處理能力基于標準性能評估結(jié)果與當前的利用率進行折算;
對于磁盤,業(yè)務(wù)負載包括每秒進行讀寫操作的次數(shù)或吞吐量。
本發(fā)明實施例中,進行性能檢測的設(shè)備可以是服務(wù)器、個人計算機、手機等安裝有相關(guān)應(yīng)用的處理設(shè)備。
以下通過具體示例,進一步闡明本發(fā)明實施例的技術(shù)方案的實質(zhì)。
本發(fā)明實施例應(yīng)用于確定被測服務(wù)器是否滿足某一應(yīng)用系統(tǒng)的性能要求,以及在估算在達到該性能要求時的大致資源使用情況,從而達到優(yōu)化服務(wù)器配置性價比的效果。
圖2為本發(fā)明實施例的設(shè)備性能測試系統(tǒng)的架構(gòu)示意圖,如圖2所示,本發(fā)明實施例設(shè)備性能測試系統(tǒng)中的參考系統(tǒng)是已經(jīng)實際部署的、運行了各種應(yīng)用軟件的生產(chǎn)或測試系統(tǒng),其包括服務(wù)器資源如CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)負載等,以及參考系統(tǒng)上運行的應(yīng)用軟件。
在參考系統(tǒng)中,業(yè)務(wù)負載(例如用戶或其它應(yīng)用軟件的網(wǎng)絡(luò)訪問請求)會觸發(fā)服務(wù)器資源的活動,在某一特定時刻,業(yè)務(wù)負載的大小(也就是滿足相關(guān)服務(wù)質(zhì)量(QoS,Quality of Service)要求的業(yè)務(wù)當前性能)記為P0,對應(yīng)的CPU、內(nèi)存、硬盤和網(wǎng)絡(luò)等資源消耗可以記為(C0、M0、D0和N0)。
由于業(yè)務(wù)負載在不斷變化,因此通過連續(xù)采集(比如每1分鐘采集1組)后,P與(C、M、D、N)這一參數(shù)組將有多個不同的對應(yīng)值,這些數(shù)據(jù)將作為參考系統(tǒng)的輸出。
本發(fā)明實施例主要由以下幾個功能實現(xiàn):
應(yīng)用負載采集,負責(zé)收集上述[P,(C、M、D、N)]參數(shù)組的數(shù)值,其中,業(yè)務(wù)性能P與具體應(yīng)用相關(guān),比如數(shù)據(jù)庫應(yīng)用一般采用單位時間處理事務(wù)數(shù)、Web應(yīng)用一般采用單位時間訪問量等;CPU、內(nèi)存、磁盤和網(wǎng)絡(luò)等物理資源,則采用業(yè)界比較通用的處理能力評價指標,比如CPU可以基于SPECCPU測試結(jié)果與當前利用率進行折算,磁盤可采用IOPS或吞吐量(MB/s)等指標來衡量。
應(yīng)用負載建模,基于應(yīng)用負載采集所收集的大量同類應(yīng)用系統(tǒng)的上述參數(shù)組數(shù)據(jù),通過分析后建立業(yè)務(wù)負載模型,這個模型至少包括兩個緯度:
(a)業(yè)務(wù)負載模型能夠反映各資源的配比關(guān)系。各種數(shù)據(jù)和經(jīng)驗表明,P與(C、M、D、N)之間不存在一種簡單的線性關(guān)系,CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)等資源也不是同比例增長的關(guān)系,由于應(yīng)用系統(tǒng)中各資源之間相互影響,(例如數(shù)據(jù)從網(wǎng)絡(luò)獲取、放入內(nèi)存,經(jīng)過CPU處理后再寫入磁盤),最終可能是非常復(fù)雜的非線性關(guān)系。
(b)業(yè)務(wù)負載模型要能夠反映出這些參數(shù)在時間上的大致分布,即在實際業(yè)務(wù)系統(tǒng)中,對CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)等資源使用的變化情況,是相對比較穩(wěn)定,還是在一段時間以內(nèi)(比如一天)負載的變化比較劇烈。
因此,一些數(shù)據(jù)分析、機器學(xué)習(xí)(如神經(jīng)網(wǎng)絡(luò))等算法可以被用于其中的對應(yīng)關(guān)系建模。建模完成后,模型將具有一定的外延能力,即指定一個超出此前樣本范圍內(nèi)沒有出現(xiàn)的P,能夠大致預(yù)測出對應(yīng)(C、M、D、N)的范圍,反之亦然。而這種預(yù)測應(yīng)該也不是精確的,是一個范圍到另一個范圍的預(yù)測。本領(lǐng)域技術(shù)人員應(yīng)當理解,通過所統(tǒng)計的業(yè)務(wù)性能及其對應(yīng)的業(yè)務(wù)負載參數(shù),進行模擬應(yīng)用的建模是容易實現(xiàn)的,目前的建模方法有很多種,這些建模方法僅是數(shù)學(xué)運算,本發(fā)明實施例不再贅述其實現(xiàn)細節(jié)。
建立業(yè)務(wù)負載模型庫,業(yè)務(wù)負載模型庫是一個匯集由應(yīng)用負載建模功能建立的不同類型應(yīng)用模型的一個集合。其用途是為后續(xù)被測系統(tǒng)提供可使用的業(yè)務(wù)負載模型。
本發(fā)明實施例設(shè)備性能測試系統(tǒng)中的應(yīng)用負載生成器,在使用時,當從業(yè)務(wù)負載模型庫中選擇該類應(yīng)用的模型,然后根據(jù)某種預(yù)定策略例如順序、隨機、二分等策略,基于模型中的(C、M、D、N)參數(shù)組,控制服務(wù)器中的負載生成器產(chǎn)生相應(yīng)的負載。其目標是能夠盡量準確復(fù)現(xiàn)實際同類應(yīng)用的負載配比關(guān)系及其時間變化情況。
負載的具體產(chǎn)生可以采用一些業(yè)界成熟的工具軟件,例如通過SPECCPU算法產(chǎn)生CPU負載、用IOMeter產(chǎn)生磁盤負載等。
本發(fā)明實施例設(shè)備性能測試系統(tǒng)中的被測系統(tǒng)是一臺或多臺服務(wù)器(或虛擬機),一般是采用某種新平臺或新技術(shù)的服務(wù)器,測試的目的是想了解某應(yīng)用系統(tǒng)在此服務(wù)器上的性能、以及資源利用率相對比較均衡的服務(wù)配置。
在本發(fā)明實施例中,被測系統(tǒng)中并不需要安裝實際應(yīng)用系統(tǒng),而只需安裝相應(yīng)的應(yīng)用負載生成器,然后連接“業(yè)務(wù)負載模型庫”下載測試模型,即可以在被測服務(wù)器上快速復(fù)現(xiàn)實際同類應(yīng)用的運行情況,觀測被測服務(wù)器上CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)等資源使用情況。
可以多次改變被測服務(wù)器的配置后重新進行上述測試,從而最終確定更適合該類應(yīng)用的服務(wù)器配置,并估算其能提供的性能。
本發(fā)明實施例的負載生成器隨時間變化產(chǎn)生的負載,可以測試被測服務(wù)器在多大程度上滿足應(yīng)用的性能需求。如果某一應(yīng)用大多數(shù)情況下負載較低而只是偶爾出現(xiàn)高負載,則被測服務(wù)器就可以配置為并不需要滿足其最高性能,從而降低成本和提升利用率。
本發(fā)明實施例不需要在被測設(shè)備如服務(wù)器上安裝相應(yīng)的應(yīng)用系統(tǒng),可以針對不同類型的應(yīng)用開展性能測試進行檢測,應(yīng)用范圍更廣,通過對待測設(shè)備進行性能檢測,提升了待測設(shè)備的資源配置的優(yōu)化效率;能夠更加準確地確定針對應(yīng)用負載需求的服務(wù)器CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)等資源的合理配比關(guān)系,從而提升待測設(shè)備的資源利用率,降低待測設(shè)備采購和運行成本。
圖3為本發(fā)明實施例的設(shè)備性能測試裝置的組成結(jié)構(gòu)示意圖,如圖3所示,本發(fā)明實施例的設(shè)備性能測試裝置包括:檢測單元30、模型建立單元31、安裝單元32和統(tǒng)計單元33,其中:
檢測單元30,用于對參考系統(tǒng)中的各應(yīng)用的業(yè)務(wù)負載進行檢測,統(tǒng)計所述各應(yīng)用運行過程中的業(yè)務(wù)負載狀況;
模型建立單元31,用于根據(jù)所統(tǒng)計的業(yè)務(wù)負載狀況為所述各應(yīng)用分別建立業(yè)務(wù)負載模型;
安裝單元32,用于在待測設(shè)備安裝負載生成的應(yīng)用、與所述負載生成的應(yīng)用對應(yīng)的業(yè)務(wù)負載模型,并使所述負載生成的應(yīng)用與所述業(yè)務(wù)負載模型通過應(yīng) 用接口連接;其中,所述負載生成的應(yīng)用能根據(jù)設(shè)定策略生成與所述業(yè)務(wù)負載模型對應(yīng)的應(yīng)用的業(yè)務(wù)負載;
統(tǒng)計單元33,用于控制所述負載生成的應(yīng)用對所述業(yè)務(wù)負載模型施加業(yè)務(wù)負載,統(tǒng)計所述待測設(shè)備中所述業(yè)務(wù)負載模型導(dǎo)致的資源使用狀況而作為性能測試數(shù)據(jù)。
作為一種示例,本發(fā)明實施例中,所述檢測單元30,還用于:當檢測周期到來時,檢測所述參考系統(tǒng)中的應(yīng)用被調(diào)用時所述參考系統(tǒng)所消耗的資源;統(tǒng)計每一檢測周期所消耗的所述參考系統(tǒng)的資源,作為相應(yīng)檢測周期所對應(yīng)的業(yè)務(wù)負載。
作為一種示例,本發(fā)明實施例中,所述參考系統(tǒng)為處理設(shè)備中所安裝的包含有各種應(yīng)用的操作系統(tǒng)。
作為一種示例,本發(fā)明實施例中,所述模型建立單元32,還用于:基于對所述參考系統(tǒng)中的各應(yīng)用所統(tǒng)計的大量業(yè)務(wù)負載狀況,以及數(shù)據(jù)分析、機器學(xué)習(xí)的算法進行數(shù)據(jù)分析,并建立各應(yīng)用的業(yè)務(wù)負載模型;所述業(yè)務(wù)負載模型至少能夠?qū)崿F(xiàn)下述任務(wù):能夠反映在任一業(yè)務(wù)負載下的各資源的配比關(guān)系;能夠反映各資源參數(shù)在時間上的大致分布;具有一定的外延能力,當超出所統(tǒng)計樣本數(shù)據(jù)范圍時,能夠預(yù)測樣本數(shù)據(jù)外的業(yè)務(wù)負載下的各資源的配比關(guān)系。
作為一種示例,本發(fā)明實施例中,所述資源包括以下資源的至少之一:
CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)負載。
作為一種示例,本發(fā)明實施例中,所述業(yè)務(wù)負載包括以下至少之一:
對于數(shù)據(jù)庫應(yīng)用,業(yè)務(wù)負載包括單位時間處理事務(wù)數(shù);
對于Web應(yīng)用,業(yè)務(wù)負載包括單位時間訪問量;
對于CPU,業(yè)務(wù)負載包括CPU的處理能力,所述處理能力基于標準性能評估結(jié)果與當前的利用率進行折算;
對于磁盤,業(yè)務(wù)負載包括每秒進行讀寫操作的次數(shù)或吞吐量。
本領(lǐng)域技術(shù)人員應(yīng)當理解,圖3所示的設(shè)備性能測試裝置中各處理單元所實現(xiàn)的功能可參照前述各實施例的設(shè)備性能測試方法的相關(guān)描述而理解。圖3 所示的設(shè)備性能測試裝置中的各處理單元的功能可通過運行于處理器上的程序而實現(xiàn),也可通過具體的邏輯電路而實現(xiàn)。本發(fā)明實施例的設(shè)備性能測試裝置中的檢測單元30、模型建立單元31、安裝單元32和統(tǒng)計單元33等,均可提供CPU、現(xiàn)場可編程門陣列(FPGA,F(xiàn)ield Programmable Gate Array)、微處理器及相關(guān)芯片等實現(xiàn)。
本發(fā)明實施例所記載的技術(shù)方案之間,在不沖突的情況下,可以任意組合。
在本發(fā)明所提供的幾個實施例中,應(yīng)該理解到,所揭露的方法和智能設(shè)備,可以通過其它的方式實現(xiàn)。以上所描述的設(shè)備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,如:多個單元或組件可以結(jié)合,或可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過一些接口,設(shè)備或單元的間接耦合或通信連接,可以是電性的、機械的或其它形式的。
上述作為分離部件說明的單元可以是、或也可以不是物理上分開的,作為單元顯示的部件可以是、或也可以不是物理單元,即可以位于一個地方,也可以分布到多個網(wǎng)絡(luò)單元上;可以根據(jù)實際的需要選擇其中的部分或全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各實施例中的各功能單元可以全部集成在一個第二處理單元中,也可以是各單元分別單獨作為一個單元,也可以兩個或兩個以上單元集成在一個單元中;上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。