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