本發(fā)明涉及測(cè)試領(lǐng)域,特別是涉及一種服務(wù)器內(nèi)存帶寬測(cè)試的方法及裝置。
背景技術(shù):
隨著信息技術(shù)的迅猛發(fā)展,服務(wù)器架構(gòu)設(shè)計(jì)也越來(lái)越復(fù)雜,使得服務(wù)器內(nèi)存帶寬的測(cè)試變得困難。
基于服務(wù)器復(fù)雜的系統(tǒng)架構(gòu)和并行化的計(jì)算方式,一般使用streambenchmark測(cè)試工具進(jìn)行內(nèi)存帶寬的測(cè)試。其首先可以給定已知規(guī)模的數(shù)據(jù)量a,按照既定規(guī)則對(duì)內(nèi)存帶寬進(jìn)行運(yùn)算,統(tǒng)計(jì)花費(fèi)的時(shí)間t,然后使用數(shù)據(jù)量a除以時(shí)間t,得到的值即為內(nèi)存帶寬b,即b=a/t??梢钥闯觯瑑?nèi)存帶寬b與數(shù)據(jù)量a和測(cè)試時(shí)間t有關(guān),而當(dāng)a值固定時(shí),測(cè)試時(shí)間t與開(kāi)啟的線程數(shù)量有關(guān)。因此,若要得到最好的內(nèi)存帶寬測(cè)試值,可以設(shè)置不同的a值和線程數(shù)量,反復(fù)進(jìn)行測(cè)試,以得出最優(yōu)值。
但是,現(xiàn)有使用人工方式,設(shè)置不同的數(shù)據(jù)量a和線程數(shù)量,反復(fù)進(jìn)行測(cè)試,從而使得內(nèi)存帶寬測(cè)試的過(guò)程需要耗費(fèi)大量人力,且測(cè)試效率低下。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種服務(wù)器內(nèi)存帶寬測(cè)試的方法及裝置,目的在于解決現(xiàn)有技術(shù)中使用人工方式測(cè)試內(nèi)存帶寬導(dǎo)致的效率低下的問(wèn)題。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種服務(wù)器內(nèi)存帶寬測(cè)試的方法,該方法包括:
利用參數(shù)配置腳本,自動(dòng)生成測(cè)試參數(shù)序列;
根據(jù)所述測(cè)試參數(shù)序列,利用測(cè)試腳本,自動(dòng)運(yùn)行steam可執(zhí)行文件,得出測(cè)試結(jié)果。
可選地,所述利用參數(shù)配置腳本,自動(dòng)生成測(cè)試參數(shù)序列包括:
獲取服務(wù)器的配置信息;
利用所述參數(shù)配置腳本,基于所述配置信息,自動(dòng)生成所述測(cè)試參數(shù)序列。
可選地,所述利用參數(shù)配置腳本,自動(dòng)生成測(cè)試參數(shù)序列包括:
獲取包含預(yù)設(shè)置參數(shù)序列的配置文件;
利用所述參數(shù)配置腳本,對(duì)所述配置文件進(jìn)行解析,得出所述測(cè)試參數(shù)序列。
可選地,在所述根據(jù)所述測(cè)試參數(shù)序列,利用測(cè)試腳本,自動(dòng)運(yùn)行steam可執(zhí)行文件,得出測(cè)試結(jié)果之后還包括:
截取所述測(cè)試結(jié)果的關(guān)鍵信息;
根據(jù)所述關(guān)鍵信息所包含的測(cè)試結(jié)果數(shù)值的大小,將所述測(cè)試結(jié)果進(jìn)行排序;
以預(yù)設(shè)輸出方式,輸出最大測(cè)試結(jié)果數(shù)值對(duì)應(yīng)的測(cè)試參數(shù)。
可選地,在所述利用參數(shù)配置腳本,自動(dòng)生成測(cè)試參數(shù)序列之前還包括:
運(yùn)行檢測(cè)腳本,檢測(cè)當(dāng)前系統(tǒng)內(nèi)是否配置yum服務(wù)器,檢測(cè)當(dāng)前系統(tǒng)內(nèi)是否具備stream內(nèi)存測(cè)試所需軟件;
若否,自動(dòng)配置所述yum服務(wù)器,自動(dòng)安裝所需軟件。
此外,本發(fā)明還提供了一種服務(wù)器內(nèi)存帶寬測(cè)試的裝置,該裝置包括:
參數(shù)序列生成模塊,用于利用參數(shù)配置腳本,自動(dòng)生成測(cè)試參數(shù)序列;
自動(dòng)測(cè)試模塊,用于根據(jù)所述測(cè)試參數(shù)序列,利用測(cè)試腳本,自動(dòng)運(yùn)行steam可執(zhí)行文件,得出測(cè)試結(jié)果。
可選地,所述參數(shù)序列生成模塊包括:
配置信息獲取單元,用于獲取服務(wù)器的配置信息;
生成單元,用于利用所述參數(shù)配置腳本,基于所述配置信息,自動(dòng)生成所述測(cè)試參數(shù)序列。
可選地,所述參數(shù)序列生成模塊包括:
配置文件獲取單元,用于獲取包含預(yù)設(shè)置參數(shù)序列的配置文件;
解析單元,用于利用所述參數(shù)配置腳本,對(duì)所述配置文件進(jìn)行解析,得出所述測(cè)試參數(shù)序列。
可選地,還包括:
截取模塊,用戶截取所述測(cè)試結(jié)果的關(guān)鍵信息;
排序模塊,用于根據(jù)所述關(guān)鍵信息所包含的測(cè)試結(jié)果數(shù)值的大小,將所述測(cè)試結(jié)果進(jìn)行排序;
輸出模塊,用于以預(yù)設(shè)輸出方式,輸出最大測(cè)試結(jié)果數(shù)值對(duì)應(yīng)的測(cè)試參數(shù)。
可選地,還包括:
檢測(cè)模塊,用于運(yùn)行檢測(cè)腳本,檢測(cè)當(dāng)前系統(tǒng)內(nèi)是否配置yum服務(wù)器,檢測(cè)當(dāng)前系統(tǒng)內(nèi)是否具備stream內(nèi)存測(cè)試所需軟件;
配置模塊,用于若否,自動(dòng)配置所述yum服務(wù)器,自動(dòng)安裝所需軟件。
本發(fā)明所提供的一種服務(wù)器內(nèi)存帶寬測(cè)試的方法及裝置,通過(guò)利用參數(shù)配置腳本,自動(dòng)生成測(cè)試參數(shù)序列;根據(jù)所述測(cè)試參數(shù)序列,利用測(cè)試腳本,自動(dòng)運(yùn)行steam可執(zhí)行文件,得出測(cè)試結(jié)果。本申請(qǐng)通過(guò)編寫(xiě)測(cè)試腳本,按照測(cè)試參數(shù)序列,自動(dòng)運(yùn)行測(cè)試文件,即自動(dòng)完成內(nèi)存帶寬測(cè)試,不用人工參與,實(shí)現(xiàn)完全自動(dòng)化,從而不用耗費(fèi)人力成本,且相較于人工方式測(cè)試,自動(dòng)測(cè)試的效率更高,且降低了測(cè)試人員的門(mén)檻。可見(jiàn),本申請(qǐng)?zhí)岣吡藘?nèi)存帶寬測(cè)試的效率。
附圖說(shuō)明
為了更清楚的說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例所提供的服務(wù)器內(nèi)存帶寬測(cè)試方法的一種具體實(shí)施方式的流程示意圖;
圖2為本發(fā)明實(shí)施例所提供的服務(wù)器內(nèi)存帶寬測(cè)試裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參見(jiàn)圖1,圖1為本發(fā)明實(shí)施例所提供的服務(wù)器內(nèi)存帶寬測(cè)試方法的一種具體實(shí)施方式的流程示意圖,該方法包括以下步驟:
步驟101:利用參數(shù)配置腳本,自動(dòng)生成測(cè)試參數(shù)序列;
需要說(shuō)明的是,測(cè)試參數(shù)序列可以是指測(cè)試參數(shù)的先后測(cè)試順序隊(duì)列。而測(cè)試參數(shù)可以是指數(shù)據(jù)量a和線程數(shù)量,此時(shí),測(cè)試參數(shù)序列可以是指不同的數(shù)據(jù)量a和線程數(shù)量數(shù)值,按照一定排列順序,得出的序列。
上述參數(shù)配置腳本可以用于生成或讀取測(cè)試參數(shù)序列的腳本,即測(cè)試參數(shù)序列可以預(yù)先配置,生成配置文件,參數(shù)配置腳本可以對(duì)配件文件進(jìn)行解析,得出測(cè)試參數(shù)序列;也可以獲取服務(wù)器的配置信息,參數(shù)配置腳本基于配置信息,來(lái)自動(dòng)生成測(cè)試參數(shù)序列。
作為一種具體實(shí)施方式,上述利用參數(shù)配置腳本,自動(dòng)生成測(cè)試參數(shù)序列的過(guò)程可以具體為:獲取服務(wù)器的配置信息;利用所述參數(shù)配置腳本,基于所述配置信息,自動(dòng)生成所述測(cè)試參數(shù)序列。
可以理解的是,上述配置信息可以是指服務(wù)器的內(nèi)存配置信息,例如,服務(wù)器的內(nèi)存容量以及cpu配置等相關(guān)信息。具體地,配置信息的獲取可以通過(guò)調(diào)用軟件來(lái)獲取。
可以看出,利用腳本,來(lái)生成測(cè)試參數(shù)序列,不用人工輸入設(shè)置參數(shù),使得內(nèi)存帶寬測(cè)試更加便捷,提高了內(nèi)存帶寬測(cè)試的效率。
作為一種具體實(shí)施方式,上述利用參數(shù)配置腳本,自動(dòng)生成測(cè)試參數(shù)序列的過(guò)程還可以具體為:獲取包含預(yù)設(shè)置參數(shù)序列的配置文件;利用所述參數(shù)配置腳本,對(duì)所述配置文件進(jìn)行解析,得出所述測(cè)試參數(shù)序列。
需要說(shuō)明的是,上述配置文件中有預(yù)先設(shè)置的參數(shù)序列,參數(shù)配置腳本可以對(duì)配置文件解析,讀取所需的參數(shù)序列。
可以看出,利用腳本,自動(dòng)獲取測(cè)試參數(shù)序列,不用人工輸入設(shè)置參數(shù),使得內(nèi)存帶寬測(cè)試更加便捷,提高了內(nèi)存帶寬測(cè)試的效率。
步驟102:根據(jù)所述測(cè)試參數(shù)序列,利用測(cè)試腳本,自動(dòng)運(yùn)行stream可執(zhí)行文件,得出測(cè)試結(jié)果。
具體地,利用測(cè)試腳本,來(lái)控制測(cè)試參數(shù)的使用順序,依次自動(dòng)編譯和運(yùn)行stream可執(zhí)行文件,得出相應(yīng)的測(cè)試結(jié)果。更具體地,測(cè)試腳本可以通過(guò)循環(huán)嵌套方式對(duì)測(cè)試參數(shù)的使用順序進(jìn)行控制。
需要說(shuō)明的是,可以將stream測(cè)試工具、源代碼編譯工具、工具運(yùn)行環(huán)境以及預(yù)先編寫(xiě)的腳本全集成至一個(gè)autostream.tar.gz文件,以此實(shí)現(xiàn)stream內(nèi)存帶寬自動(dòng)測(cè)試。
可以理解的是,可以將測(cè)試結(jié)果存儲(chǔ)至日志文件中,且可以從測(cè)試結(jié)果中,選取出最優(yōu)的測(cè)試參數(shù)方案,輸出給用戶。
本發(fā)明實(shí)施例所提供的服務(wù)器內(nèi)存帶寬測(cè)試方法,通過(guò)利用參數(shù)配置腳本,自動(dòng)生成測(cè)試參數(shù)序列;根據(jù)所述測(cè)試參數(shù)序列,利用測(cè)試腳本,自動(dòng)運(yùn)行steam可執(zhí)行文件,得出測(cè)試結(jié)果。該方法通過(guò)編寫(xiě)測(cè)試腳本,按照測(cè)試參數(shù)序列,自動(dòng)運(yùn)行測(cè)試文件,即自動(dòng)完成內(nèi)存帶寬測(cè)試,不用人工參與,實(shí)現(xiàn)完全自動(dòng)化,從而不用耗費(fèi)人力成本,且相較于人工方式測(cè)試,自動(dòng)測(cè)試的效率更高。
基于上述技術(shù)方案,在上述根據(jù)所述測(cè)試參數(shù)序列,利用測(cè)試腳本,自動(dòng)運(yùn)行steam可執(zhí)行文件,得出測(cè)試結(jié)果之后還可以包括:截取所述測(cè)試結(jié)果的關(guān)鍵信息;根據(jù)所述關(guān)鍵信息所包含的測(cè)試結(jié)果數(shù)值的大小,將所述測(cè)試結(jié)果進(jìn)行排序;以預(yù)設(shè)輸出方式,輸出最大測(cè)試結(jié)果數(shù)值對(duì)應(yīng)的測(cè)試參數(shù)。
需要說(shuō)明的是,上述關(guān)鍵信息可以包含測(cè)試結(jié)果數(shù)值等相關(guān)信息?;跍y(cè)試結(jié)果數(shù)值的大小,可以選取最大測(cè)試結(jié)果數(shù)值作為最優(yōu)測(cè)試方案,則其對(duì)應(yīng)的測(cè)試參數(shù)即為最優(yōu)測(cè)試參數(shù)。
具體地,可以讀取用于存儲(chǔ)測(cè)試結(jié)果的日志文件,接著截取測(cè)試結(jié)果的關(guān)鍵信息,再基于測(cè)試結(jié)果數(shù)值的大小,選取出最優(yōu)的測(cè)試參數(shù),輸出至屏幕。
可以理解的是,可以根據(jù)測(cè)試參數(shù)的不同,將相應(yīng)測(cè)試結(jié)果存儲(chǔ)至不同的日志文件中,且日志文件可以用測(cè)試參數(shù)的值進(jìn)行標(biāo)識(shí),從而區(qū)分各個(gè)日志文件所存儲(chǔ)的測(cè)試結(jié)果。
作為一種具體實(shí)施方式,在上述利用參數(shù)配置腳本,自動(dòng)生成測(cè)試參數(shù)序列之前還可以包括:運(yùn)行檢測(cè)腳本,檢測(cè)當(dāng)前系統(tǒng)內(nèi)是否配置yum服務(wù)器,檢測(cè)當(dāng)前系統(tǒng)內(nèi)是否具備stream內(nèi)存測(cè)試所需軟件;若否,自動(dòng)配置所述yum服務(wù)器,自動(dòng)安裝所需軟件。
需要說(shuō)明的是,上述檢測(cè)腳本可以包括用于軟件檢測(cè)的程序、用于yum服務(wù)器配置的程序以及用于軟件安裝的程序。
上述軟件為stream內(nèi)存帶寬測(cè)試工具編譯和運(yùn)行過(guò)程中所必須的軟件,以及相應(yīng)腳本運(yùn)行所需調(diào)用的軟件。
上述yum服務(wù)器的具體配置過(guò)程可以為:如果檢測(cè)到當(dāng)前操作系統(tǒng)內(nèi)沒(méi)有配置有yum服務(wù)器,則要求用戶上述系統(tǒng)鏡像,接著自動(dòng)配置yum服務(wù)器。
可以看出,利用autostream.tar.gz文件,自動(dòng)檢測(cè)內(nèi)存帶寬測(cè)試所需的編譯環(huán)境和運(yùn)行環(huán)境,減少了操作人員手動(dòng)配置運(yùn)行編譯環(huán)境的過(guò)程。
本發(fā)明實(shí)施例所提供的服務(wù)器內(nèi)存帶寬測(cè)試方法,對(duì)測(cè)試結(jié)果進(jìn)行分析排序,輸出最優(yōu)的測(cè)試參數(shù)方案,提高了內(nèi)存帶寬測(cè)試效率。
下面對(duì)本發(fā)明實(shí)施例提供的服務(wù)器內(nèi)存帶寬測(cè)試裝置進(jìn)行介紹,下文描述的服務(wù)器內(nèi)存帶寬測(cè)試裝置與上文描述的服務(wù)器內(nèi)存帶寬測(cè)試方法可相互對(duì)應(yīng)參照。
圖2為本發(fā)明實(shí)施例所提供的服務(wù)器內(nèi)存帶寬測(cè)試裝置的結(jié)構(gòu)框圖,參照?qǐng)D2服務(wù)器內(nèi)存帶寬測(cè)試裝置可以包括:
參數(shù)序列生成模塊21,用于利用參數(shù)配置腳本,自動(dòng)生成測(cè)試參數(shù)序列;
自動(dòng)測(cè)試模塊22,用于根據(jù)測(cè)試參數(shù)序列,利用測(cè)試腳本,自動(dòng)運(yùn)行steam可執(zhí)行文件,得出測(cè)試結(jié)果。
可選地,上述參數(shù)序列生成模塊包括:
配置信息獲取單元,用于獲取服務(wù)器的配置信息;
生成單元,用于利用參數(shù)配置腳本,基于配置信息,自動(dòng)生成所述測(cè)試參數(shù)序列。
可選地,上述參數(shù)序列生成模塊包括:
配置文件獲取單元,用于獲取包含預(yù)設(shè)置參數(shù)序列的配置文件;
解析單元,用于利用參數(shù)配置腳本,對(duì)配置文件進(jìn)行解析,得出測(cè)試參數(shù)序列。
可選地,還包括:
截取模塊,用戶截取測(cè)試結(jié)果的關(guān)鍵信息;
排序模塊,用于根據(jù)關(guān)鍵信息所包含的測(cè)試結(jié)果數(shù)值的大小,將測(cè)試結(jié)果進(jìn)行排序;
輸出模塊,用于以預(yù)設(shè)輸出方式,輸出最大測(cè)試結(jié)果數(shù)值對(duì)應(yīng)的測(cè)試參數(shù)。
可選地,還包括:
檢測(cè)模塊,用于運(yùn)行檢測(cè)腳本,檢測(cè)當(dāng)前系統(tǒng)內(nèi)是否配置yum服務(wù)器,檢測(cè)當(dāng)前系統(tǒng)內(nèi)是否具備stream內(nèi)存測(cè)試所需軟件;
配置模塊,用于若否,自動(dòng)配置yum服務(wù)器,自動(dòng)安裝所需軟件。
本發(fā)明實(shí)施例所提供的服務(wù)器內(nèi)存帶寬測(cè)試裝置,利用參數(shù)配置腳本,自動(dòng)生成測(cè)試參數(shù)序列;根據(jù)測(cè)試參數(shù)序列,利用測(cè)試腳本,自動(dòng)運(yùn)行steam可執(zhí)行文件,得出測(cè)試結(jié)果。該裝置通過(guò)編寫(xiě)測(cè)試腳本,按照測(cè)試參數(shù)序列,自動(dòng)運(yùn)行測(cè)試文件,即自動(dòng)完成內(nèi)存帶寬測(cè)試,不用人工參與,實(shí)現(xiàn)完全自動(dòng)化,從而不用耗費(fèi)人力成本,且相較于人工方式測(cè)試,自動(dòng)測(cè)試的效率更高,且降低了測(cè)試人員的門(mén)檻。
本說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開(kāi)的裝置而言,由于其與實(shí)施例公開(kāi)的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。
專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開(kāi)的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(ram)、內(nèi)存、只讀存儲(chǔ)器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤(pán)、可移動(dòng)磁盤(pán)、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
以上對(duì)本發(fā)明所提供的服務(wù)器內(nèi)存帶寬測(cè)試的方法及裝置進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。