專利名稱:計算機壓力測試中輔助加壓的方法
技術領域:
本發明涉及一種計算機壓力測試中輔助加壓的方法,特別是一種通過占用內存空間及使高速緩存暫時失效來占用更多計算機系統資源,從而增加測試壓力的方法。
背景技術:
隨著各種軟硬件技術的飛速發展,計算機已經逐漸成為我們日常工作生活中不可缺少的設備,為了使計算機能更好地適應各種軟硬件環境,需要模擬計算機的實際應用環境,對其進行性能、可靠性及疲勞等各種功能性測試,以此來評估是否達到設計要求,從而保證計算機在各種情況下都能正常運行。
通常對計算機各個部件的測試,是通過一定的方法對其各個部件施加壓力,即通過一定的方法產生大量的數據處理流程,并在待測部件中執行,考核該部件的性能指標、穩定性及可靠性,從而對整個計算機性能進行測試。
在現有的測試技術下,對計算機進行壓力測試就是簡單的反復執行各個部件的壓力測試,但由于各個部件占用系統資源的能力的差異,很可能出現有些部件壓力測試很難達到滿負荷運轉狀態,如針對儲存設備的檔案系統測試(File System Test)中,在復制檔案的過程中幾乎不占用系統資源;而優先部件則很容易出現滿負荷運轉狀態,如內存測試(Memory Test)。這樣,一部分部件的壓力測試沒有完全達到測試要求,其性能就得不到保證。
此時,就需要一種既能滿足測試需求,又不影響待測設備正常測試,并且可以快速提高測試壓力的方法來解決上述問題。
發明內容
有鑒于此,本發明的目的在于克服現有技術的不足與缺陷,為解決上述問題而提出了一種計算機壓力測試中輔助加壓的方法,通過占用內存(Memory)及使高速緩存(Cache)暫時失效來占用更多計算機系統資源,從而增加了測試壓力,迫使其它測試項能滿負荷運行。
為達上述目的,本發明提出了一種計算機壓力測試中輔助加壓的方法,首先選擇輔助壓力測試項;然后設置該輔助壓力項的測試執行參數;接下來,設置待測試項的執行參數;再同時加載該輔助壓力測試項及該待測試項;最后根據該輔助壓力測試及該待測試項的執行參數執行測試。
與現有的方法相比,本發明提供的方法通過占用內存及使高速緩存暫時失效來占用更多計算機系統資源,使可供其它測試項使用的系統資源減少,這樣就間接提高了測試壓力,迫使其它測試項能滿負荷運行,同時對其他待測設備的正常測試不會造成影響,實現了對計算機各個部件的滿負荷運轉,提高了測試壓力和測試效率。
圖1為本發明的計算機壓力測試中輔助加壓的方法的總體流程圖;圖2為本發明所提的選擇輔助壓力測試項的流程圖;圖3為本發明所提的執行該內存保留測試項的流程圖;圖4為本發明所提的執行該高速緩存溢出測試項的流程圖;圖5為本發明所提的根據該間隔時間確定該測試的執行狀態流程圖。
圖中符號說明步驟110選擇輔助壓力測試項步驟120設置該輔助壓力項的測試執行參數步驟130設置待測試項的執行參數步驟140同時加載該輔助壓力測試項及該待測試項步驟150根據該輔助壓力測試及該待測試項的執行參數執行測試步驟210選擇執行保留內存測試項作為輔助壓力測試項步驟220選擇執行高速緩存溢出測試項作為輔助壓力測試項步驟230同時選擇保留內存測試項及高速緩存溢出測試項作為輔助壓力測試項步驟310為該內存保留測試分配內存空間步驟320向該內存空間內寫入數據步驟330隨機產生一個數值作為間隔時間步驟340根據該時間間隔確定該內存空間內的數據變動情況步驟410加載一段驅動程序步驟420執行該高速緩存溢出測試步驟430隨機產生一個數值作為間隔時間步驟440根據該間隔時間確定該測試的執行狀態步驟510該測試全部結束時,結束該測試步驟520該測試尚未結束時,繼續執行通過該驅動程序中執行該測試的步驟具體實施方式
下面結合附圖對本發明進行詳細說明通過圖1來說明本發明的執行過程,該圖為本發明的計算機壓力測試中輔助加壓的方法的總體流程圖,說明如下首先選擇輔助壓力測試項(步驟110);然后設置該輔助壓力項的測試執行參數(步驟120);接下來,設置待測試項的執行參數(步驟130);再同時加載該輔助壓力測試項及該待測試項(步驟140);最后根據該輔助壓力測試及該待測試項的執行參數執行測試(步驟150)。
該輔助壓力測試項包括內存保留測試項(Memory Hold Test)及高速緩存溢出測試項(Cache Flust Test)。內存及高速緩存是影響計算機系統整體性能的重要裝置,計算機系統使用CPU(CentralProcessing Unit中央處理器)來控制其各個部件正常運轉,而所有計算機指令和數據都是通過Memory→Cache→CPU的過程來執行的,因此,通過對Memory及Cache加壓,占用部分系統資源,就能相應減少計算機各個部件占用系統資源的比例,從而達到間接給部件的測試施加壓力的目的。
待測試項的執行參數為該待測試項的測試執行緒數量,同時也包含其它參數,具體情況根據待測試項的種類來決定。該待測試項可以為任意一個或者多個計算機部件的測試項,例如硬盤檔案系統測試、內存測試及各種計算機端口測試等等。
下面,進一步說明本發明的流程。
請參見圖2,該圖為本發明所提的選擇輔助壓力測試項的流程圖,說明如下選擇執行保留內存測試項作為輔助壓力測試項(步驟210);選擇執行高速緩存溢出測試項作為輔助壓力測試項(步驟220);同時選擇保留內存測試項及高速緩存溢出測試項作為輔助壓力測試項(步驟230)。
輔助壓力測試項的選擇可根據用戶需求及待測試項的具體情況進行設置,當需要在待測試項的測試中增加較大壓力時,可同時選擇內存測試項及快取及溢出測試項進行輔助加壓;如果只需要增加少量壓力則可以從其中任選一種進行輔助加壓。
另外,也可以根據待測項的執行特點來進行選擇,例如當待測項對內存需求較大時,選擇保留內存測試項進行輔助加壓;當待測項對高速緩存需求更大時,選擇高速緩存溢出測試項來輔助加壓。
請參見圖3,該圖為本發明所提的執行該內存保留測試項的流程圖,說明如下首先為該內存保留測試分配內存空間(步驟310);然后向該內存空間內寫入數據(步驟320);再隨機產生一個數值作為間隔時間(步驟330);最后根據該時間間隔確定該內存空間內的數據變動情況(步驟340)。
其中,該內存空間的大小可作為該測試項的執行參數由用戶根據測試需要進行設定,其大小范圍為1個字節到4G字節(1Byte~4GByte)。
內存保留測試的執行過程實際上就是不斷向分配的該段內存內寫入數據(0或1),然后每隔一定的時間讀取該段的數據,查看其是否改變。通過上述過程達到了占用內存空間的目的,從而占用了部分系統資源,給其它部件測試造成了壓力。
當用戶需要快速增加壓力或者增大壓力時,可同時執行多個內存保留測試項的執行緒,通過多執行緒方式達到目的。
請參見圖4,該圖為本發明所提的執行該高速緩存溢出測試項的流程圖,說明如下首先加載一段驅動程序(步驟410);然后執行該高速緩存溢出測試(步驟420);再隨機產生一個數值作為間隔時間(步驟430);最后根據該間隔時間確定該測試的執行狀態(步驟440)。
高速緩存溢出測試執行主要是通過WBINVD指令來完成的,它能將Cache中的指令和數據回寫到Memory中,使Cache的上次操作無效。在Windows操作系統中,WBINVD指令不能直接執行,需要在DDK(Device Driver Kit設備驅動工具)工作環境下編寫一個能執行上述指令的Driver程序,通過執行該程序定義設備控制(DeviceControl)的接口,并在該接口函數中執行WBINVD指令,從而完成高速緩存溢出測試。
當用戶需要快速增加壓力或者增大壓力時,可同時執行多個高速緩存溢出測試項的執行緒,通過多執行緒方式達到目的。
該間隔時間為每隔一定的時間檢測該測試的執行情況,從而控制整個測試過程。
請參見圖5,該圖為本發明所提的根據該間隔時間確定該測試的執行狀態的流程圖,說明如下該測試全部結束時,結束該測試(步驟510) 該測試尚未結束時,繼續執行通過該驅動程序中執行該測試的步驟(步驟520)。
下面用一種較佳的實施例來說明本發明的流程。
以硬盤讀寫檔案測試為例,說明本發明的執行過程。
硬盤讀寫檔案測試是硬盤檔案系統測試的重要組成部份,通過對待測硬盤反復進行檔案操作來檢測硬盤的性能指標。然而在該測試執行中進行復制檔案操作時,對系統資源的占用很小,沒有滿負荷運行,達不到測試目的。為提高測試壓力,就需要在執行該硬盤讀寫檔案測試的同時,執行本發明所提的內存保留測試項及高速緩存溢出測試項占用部分系統資源來,減少該硬盤讀寫檔案測試所占用的資源,以此達到提高測試壓力的目的。其過程說明如下
首先,選擇輔助壓力測試項,在這里以兩種都選為例。
然后,分別設置兩種輔助壓力測試項的執行參數,主要是選擇執行緒的數量,以及設置內存保留測試項中內存空間大小。
接下來,設置該硬盤讀寫檔案測試的執行參數,包括執行緒數量,測試執行時間及間隔時間等。
同時加載兩種輔助壓力測試項及硬盤讀寫檔案測試。
最后,根據該輔助壓力測試及該待測試項的執行參數,同時執行測試執行輔助壓力測試項及硬盤讀寫檔案測試。
至此,上述測試過程全部完畢。
以上所述者,僅為本發明其中的較佳實施例,并非用來限定本發明的實施范圍;即凡依本發明的權利要求書所作的均等變化與修飾,皆為本發明的權利要求書的范圍所涵蓋。
權利要求
1.一種計算機壓力測試中輔助加壓的方法,其特征在于,該方法至少包括以下步驟選擇輔助壓力測試項;設置該輔助壓力項的測試執行參數;設置待測試項的執行參數;同時加載該輔助壓力測試項及該待測試項;及根據該輔助壓力測試及該待測試項的執行參數執行測試。
2.如權利要求1所述的計算機壓力測試中輔助加壓的方法,其特征在于,該輔助壓力測試項為內存保留測試項。
3.如權利要求1所述的計算機壓力測試中輔助加壓的方法,其特征在于,該輔助壓力測試項為高速緩存溢出測試項。
4.如權利要求2所述的計算機壓力測試中輔助加壓的方法,其特征在于,執行該內存保留測試項更包括以下步驟為該內存保留測試分配內存空間;向該內存空間內寫入數據;隨機產生一個數值作為間隔時間;及根據該時間間隔確定該內存空間內的數據變動情況。
5.如權利要求4所述的計算機壓力測試中輔助加壓的方法,其特征在于,該內存空間的范圍為1個字節到4G字節。
6.如權利要求2所述的計算機壓力測試中輔助加壓的方法,其特征在于,執行該高速緩存溢出測試項更包括以下步驟加載一段驅動程序;執行該高速緩存溢出測試;隨機產生一個數值作為間隔時間;及根據該間隔時間確定該測試的執行狀態。
7.如權利要求6所述的計算機壓力測試中輔助加壓的方法,其特征在于,該驅動程序為一段定義設備控制器接口函數,并在該接口函數中執行WBINVD命令的程序。
8.如權利要求6所述的計算機壓力測試中輔助加壓的方法,其特征在于,根據該間隔時間確定該測試的執行狀態為該測試全部結束時,結束該測試。
9.如權利要求6所述的計算機壓力測試中輔助加壓的方法,其特征在于,根據該間間隔時間確定該測試的執行狀態為該測試尚未結束時,繼續執行通過該驅動程序中執行該測試的步驟。
10.如權利要求1所述的計算機壓力測試中輔助加壓的方法,其特征在于,設置該模式下該輔助壓力測試的執行參數為設置該輔助壓力測試項的執行緒的數量。
11.如權利要求1所述的計算機壓力測試中輔助加壓的方法,其特征在于,設置該模式下該輔助壓力測試的執行參數為設置該內存保留測試項的內存空間大小。
12.如權利要求1所述的計算機壓力測試中輔助加壓的方法,其特征在于,設置待測試項的執行參數為設置該待測試項的執行緒的數量。
全文摘要
本發明涉及一種計算機壓力測試中輔助加壓的方法,通過占用內存空間及使高速緩存暫時失效來占用更多計算機系統資源,從而增加測試的壓力,本發明包括以下步驟首先選擇輔助壓力測試項,然后設置輔助壓力項的測試執行參數,接下來,設置待測試項的執行參數,再同時加載輔助壓力測試項及待測試項,最后根據輔助壓力測試及待測試項的執行參數執行測試。
文檔編號G06F11/26GK1549125SQ03131320
公開日2004年11月24日 申請日期2003年5月9日 優先權日2003年5月9日
發明者劉文涵, 宋建福, 劉清華 申請人:英業達股份有限公司