本發(fā)明涉及應用于消冗(重復數據刪除)文件系統(tǒng)和消冗類軟件的測試工具及方法,屬于重復數據刪除測試方法領域。
背景技術:
隨著計算機技術的不斷發(fā)展和企業(yè)信息量的不斷增加,使用數據訪問和存儲呈現爆炸式的增長,促使了消冗文件系統(tǒng)的出現,所以就需要精確的對消冗文件系統(tǒng)進行消冗率以及性能評價。消冗文件系統(tǒng)可以使用戶透明的使用存儲設備,即其使用方式與使用本地磁盤一致,所以測試讀寫性能時傳統(tǒng)的文件系統(tǒng)性能測試工具如IOZone依然可用,但由于IOZone一次只寫一個文件,即使與腳本配合可以順序寫出多個文件,但這些文件的內容全部都是一樣的,后寫入的文件全部被消冗掉,所以在某些測試場景下(比如:連續(xù)寫入一定重復率的數據文件情況下對消冗文件系統(tǒng)進行壓力和穩(wěn)定性測試并統(tǒng)計其性能變化)就不太適用,其它測試工具也存在類似的問題。
技術實現要素:
本發(fā)明專門針對消冗文件系統(tǒng)或消冗軟件,提出一種應用于消冗文件系統(tǒng)的測試工具及方法,解決對消冗文件系統(tǒng)在消冗率、讀寫性能以及穩(wěn)定性等方面的測試,并且使測試變得簡單且精確。一種應用于消冗文件系統(tǒng)的測試工具,包括順序寫入/讀取模塊、隨機寫入/讀取模塊、重復率控制模塊、刪除模塊、模擬模塊、滿負荷寫入/讀取模塊、循環(huán)寫入模塊;順序寫入/讀取模塊用于向消冗文件系統(tǒng)順序寫入或者讀取不同塊大小、不同文件大小的數據;隨機寫入/讀取模塊用于向消冗文件系統(tǒng)隨機寫入或者讀取不同塊大小、不同文件大小的數據;重復率控制模塊用于對寫入消冗文件系統(tǒng)的數據控制不同的重復率;刪除模塊4用于刪除消冗文件系統(tǒng)中指定的數據文件;模擬模塊用于模擬多用戶同時對消冗文件系統(tǒng)進行讀寫刪操作;滿負荷寫入/讀取模塊用于根據消冗文件系統(tǒng)的處理能力滿負荷的寫入或者讀取數據;循環(huán)寫入模塊用于對消冗文件系統(tǒng)長時間滿負荷的循環(huán)寫入或者讀取不同的數據文件。一種應用于消冗文件系統(tǒng)的測試方法,包括以下幾個方面:(1)對消冗文件系統(tǒng)進行消冗率測試,包括兩個方面:1)向消冗文件系統(tǒng)內寫入數據,控制寫入的文件大小以及文件數量,并控制其寫入數據的重復率A,進行消冗率測試,測試完成后自動把結果輸出到指定文件,如果結果顯示消冗率A,則此次消冗率測試結果正確,否則消冗率錯誤;2)向消冗文件系統(tǒng)中隨機連續(xù)寫入兩個完全一樣、重復率為0%的數據,進行消冗率測試,測試完成后自動把結果輸出到指定文件,如果結果顯示消冗率為49%—50%,則判斷消冗文件系統(tǒng)此次消冗率測試結果正確,否則消冗率錯誤;(2)對消冗文件系統(tǒng)順序讀寫性能測試;向消冗文件系統(tǒng)內順序寫入數據,然后再按順序讀取數據,對消冗文件系統(tǒng)順序讀寫性能測試,測試完成后自動把讀寫結果輸出到指定文件中;(3)對消冗文件系統(tǒng)隨機讀寫性能測試;向消冗文件系統(tǒng)內隨機寫入數據,然后再按隨機方式讀取數據,對消冗文件系統(tǒng)隨機讀寫性能測試,測試完成后自動把讀寫結果輸出到指定文件中;(4)多進程下的同步讀寫性能測試;模擬多用戶同時向消冗文件系統(tǒng)內順序或者隨機寫入數據,然后再按順序讀取數據,對消冗文件系統(tǒng)進行多進程下的同步讀寫性能測試,測試完成后自動把讀寫結果輸出到指定文件中;(5)對消冗文件系統(tǒng)讀寫I/O測試;向消冗文件系統(tǒng)內順序或者隨機寫入數據,然后再按順序或者隨機方式讀取數據,對消冗文件系統(tǒng)讀寫I/O測試,測試完成后自動把讀寫I/O結果輸出到指定文件中;(6)對消冗文件系統(tǒng)穩(wěn)定性測試根據消冗文件系統(tǒng)所在的分區(qū)空間大小設置寫入數據量,每次順序或者隨機寫入不同的數據,重復率60%,每個文件寫完后進行讀取,連續(xù)進行N次文件讀寫,每個文件讀寫完成后性能結果輸出到指定文件中,得到性能變化曲線,性能變化曲線的橫坐標為數據量,縱坐標是讀寫性能。本發(fā)明的優(yōu)點在于:(1)本發(fā)明的工具,包括對消冗率測試、讀寫性能以及穩(wěn)定性測試,一個工具即可完成對上述測試項的測試,并且使用簡單,只需輸入較少的命令即可,自動收集測試結果,形成文件;(2)本發(fā)明的工具,具有很強的實用性,具有很廣泛的應用前景。附圖說明圖1是本發(fā)明的工具示意圖;圖中:1-順序寫入/讀取模塊2-隨機寫入/讀取模塊3-重復率控制模塊4-刪除模塊5-模擬模塊6-滿負荷寫入/讀取模塊7-循環(huán)寫入模塊具體實施方式下面將結合附圖和實施例對本發(fā)明作進一步的詳細說明。本發(fā)明是一種應用于消冗文件系統(tǒng)的測試工具,如圖1所示,包括順序寫入/讀取模塊1、隨機寫入/讀取模塊2、重復率控制模塊3、刪除模塊4、模擬模塊5、滿負荷寫入/讀取模塊6、循環(huán)寫入模塊7。其中重復率控制模塊3、模擬模塊5、循環(huán)寫入模塊7都是本發(fā)明新創(chuàng)新的測試技術和測試思路。通過順序寫入/讀取模塊1可以向消冗文件系統(tǒng)順序寫入或者讀取不同塊大小不同文件大小的數據;通過隨機寫入/讀取模塊2可以向消冗文件系統(tǒng)隨機寫入或者讀取不同塊大小不同文件大小的數據;通過重復率控制模塊3可以對寫入消冗文件系統(tǒng)的數據控制不同的重復率;刪除模塊4可以刪除消冗文件系統(tǒng)中指定的數據文件;模擬模塊5可以模擬多用戶同時對消冗文件系統(tǒng)進行讀寫刪操作;滿負荷寫入/讀取模塊6可以根據消冗文件系統(tǒng)的處理能力滿負荷的寫入或者讀取數據;循環(huán)寫入模塊7可以對消冗文件系統(tǒng)長時間滿負荷的循環(huán)寫入或者讀取不同的數據文件。本發(fā)明是一種應用于消冗文件系統(tǒng)的測試方法,包括以下幾個方面:(1)對消冗文件系統(tǒng)進行消冗率測試,包括兩個方面:1)使用測試工具向消冗文件系統(tǒng)內寫入數據,控制寫入的文件大小以及文件數量,并控制其寫入數據的重復率A。進行消冗率測試,測試完成后自動把結果輸出到指定文件,指定文件為由測試人員指定的文件,如果結果顯示消冗率A,說明此次消冗率測試結果正確。否則消冗率錯誤。2)使用測試工具向消冗文件系統(tǒng)中隨機連續(xù)寫入兩個完全一樣、重復率為0%的數據,進行消冗率測試,測試完成后自動把結果輸出到指定文件,如果結果顯示消冗率為49%—50%,則判斷消冗文件系統(tǒng)此次消冗率測試結果正確,否則消冗率錯誤。如消冗文件系統(tǒng)有壓縮功能,測試消冗率時把壓縮功能先注銷或屏蔽再進行消冗率測試,并且每次測試前把消冗文件系統(tǒng)內數據清除。(2)對消冗文件系統(tǒng)順序讀寫性能測試;使用測試工具向消冗文件系統(tǒng)內順序寫入數據,然后再按順序讀取這些數據,對消冗文件系統(tǒng)順序讀寫性能測試,測試完成后自動把讀寫結果輸出到指定文件中。(3)對消冗文件系統(tǒng)隨機讀寫性能測試;使用測試工具向消冗文件系統(tǒng)內隨機寫入數據,然后再按隨機方式讀取這些數據,對消冗文件系統(tǒng)隨機讀寫性能測試,測試完成后自動把讀寫結果輸出到指定文件中。(4)多進程下的同步讀寫性能測試;使用測試工具模擬多用戶同時向消冗文件系統(tǒng)內順序或者隨機寫入數據,然后再按順序讀取這些數據,對消冗文件系統(tǒng)進行多進程下的同步讀寫性能測試,測試完成后自動把讀寫結果輸出到指定文件中。(5)對消冗文件系統(tǒng)讀寫I/O測試;使用測試工具向消冗文件系統(tǒng)內順序或者隨機寫入數據,然后再按順序或者隨機方式讀取這些數據,對消冗文件系統(tǒng)讀寫I/O測試,測試完成后自動把讀寫I/O結果輸出到指定文件中。(6)對消冗文件系統(tǒng)穩(wěn)定性測試根據消冗文件系統(tǒng)所在的分區(qū)空間大小設置寫入數據量,每次順序或者隨機寫入不同的數據,重復率60%,每個文件寫完后進行讀取,連續(xù)進行N次(如100次,N的大小可根據存儲空間大小決定,理論上沒有上限)文件讀寫,每個文件讀寫完成后性能結果輸出到指定文件中。則測試消冗文件系統(tǒng)長時間工作狀態(tài)的穩(wěn)定性,也可以測試出在數據量不斷增加的情況下的讀寫性能變化。測試完成后自動把每個文件的讀寫結果輸出到指定的文件中,得到性能變化曲線,性能變化曲線的橫坐標為數據量,縱坐標是讀寫性能,達到測試目的。本發(fā)明提供了一種測試工具與測試方法,支持對消冗文件系統(tǒng)和消冗軟件的測試,可以使對此類系統(tǒng)和軟件的測試變得簡單且準確。本發(fā)明的工具與方法,實現的功能為:1、對消冗文件系統(tǒng)消冗率測試;2、對消冗文件系統(tǒng)的順序讀寫性能測試;3、對消冗文件系統(tǒng)隨機讀寫性能測試;4、對消冗文件系統(tǒng)進行多進程并發(fā)讀寫能力測試;5、文件系統(tǒng)讀寫I/O測試;6、測試結束后自動顯示測試結果;7、文件系統(tǒng)的穩(wěn)定性測試;8、支持的操作系統(tǒng)為linux、unix。實施例:本發(fā)明測試工具的測試方法:測試工具的運行命令為:./TestProcess[-itest][-sfilesize_Kb][-rrecord_size_Kb][-nnumber][-wsave][-pproportion][-OI/O][-hhomology][-ccourse][-fpath][filename]參數說明如下:TestProcess:工具名稱;-i:(test)讀寫模式,6順序寫、7順序讀、1隨機寫、2隨機讀;-s:(filesize_Kb)文件大小,可以以Kb為單位,也可以MB、GB為單位;-r:(record_size_Kb)每次寫入的塊大小,可以以Kb為單位,也可以MB、GB為單位;-n:(number)數量,寫入文件的個數;-w:(save)文件是否保存,1為保存,0為不保存;-p:(proportion)文件內塊重復率,0%為完成為重復數據,100%為完全重復的數據;-O:(I/O)對讀寫I/O進行統(tǒng)計;-h:(homology)文件是否相同,1為所寫文件都相同,0為所寫文件各不相同;-c:(course)進程數,默認為單個進程,后跟數字表示多個進程同時操作;-f:(path)文件寫入的路徑絕對路徑;Filename:文件名稱,寫入多個文件時文件名自動增加后綴。(1)對消冗文件系統(tǒng)進行消冗率測試;1)使用測試工具向消冗文件系統(tǒng)內寫入數據,控制寫入的文件大小(M)以及文件數量(N),并控制其寫入數據的重復率(比如60%)。測試完成后自動把結果輸出到指定文件log,如果結果顯示消冗率60%說明此次消冗率測試結果正確。否則消冗率錯誤。測試命令如下:./TestProcess–i6–s100G–r128k–n10–w–p60%-f/mnt/sdetest.dat./log2)使用測試工具向消冗文件系統(tǒng)中連寫入兩個完全一樣重復率為0%的數據,按照1)計算,測試完成后自動把結果輸出到指定文件log,消冗率為50%可判斷消冗文件系統(tǒng)此次消冗率測試結果正確,否則消冗率錯誤。測試命令如下:./TestProcess–i6–s100G–r128k–n10-w–p60%-f/mnt/sdetest.dat./log如消冗文件系統(tǒng)有壓縮功能,測試消冗率時把壓縮功能先注銷或屏蔽再進行消冗率測試。(2)對消冗文件系統(tǒng)順序讀寫性能測試;使用測試工具向消冗文件系統(tǒng)內順序寫入數據,然后再按一定的順序讀取這些數據,需指定的參數如下:順序寫、順序讀、每個文件大小、塊大小、文件個數、重復率、文件目錄、文件名稱,舉例說明測試命令:./TestProcess–i67–s100G–r128k–n10–c10–w–p60%-f/mnt/sdetest.dat./log測試完成后自動把讀寫結果輸出到指定的文件log中。測試時可調整不同的參數以達到不同的測試目的。(3)對消冗文件系統(tǒng)隨機讀寫性能測試;使用測試工具向消冗文件系統(tǒng)內隨機寫入數據,然后再按隨機方式讀取這些數據,需指定的參數如下:隨機寫、隨機讀、每個文件大小、塊大小、文件個數、重復率、文件目錄、文件名稱,舉例說明測試命令:./TestProcess–i12–s100G–r128k–n10-w–p60%-f/mnt/sdetest.dat./log測試完成后自動把讀寫結果輸出到指定的文件log中。測試時可調整不同的參數以達到不同的測試目的。(4)多進程下的同步讀寫性能測試;使用測試工具-c參數指定一定的進程數據(比如:10)向消冗文件系統(tǒng)內順序(隨機)寫入數據,然后再按一定的順序讀取這些數據,需指定的參數如下:順序(隨機)寫、順序(隨機)讀、每個文件大小、塊大小、文件個數、重復率、文件目錄、文件名稱,以5個進程順序讀寫測試為例說明,運行命令為:./TestProcess–i67–s100G–r128k–n5–c10-w–p60%-f/mnt/sdetest.dat./log2測試完成后自動把讀寫結果輸出到指定的文件log2中。測試時可調整不同的參數以達到不同的測試目的。(5)對消冗文件系統(tǒng)讀寫I/O測試;使用測試工具-O參數向消冗文件系統(tǒng)內順序(隨機)寫入數據,然后再按順序(隨機)方式讀取這些數據,需指定的參數如下:順序(隨機)寫、順序(隨機)讀、每個文件大小、塊大小、文件個數、重復率、文件目錄、文件名稱,舉例說明運行命令為:./TestProcess–i67–s100G–r128k-O-w–p60%-f/mnt/sdetest.dat./log測試完成后自動把讀寫I/O結果輸出到指定的文件log中??烧{整不同的塊大小測試出在不同塊大小情況下的I/O值。(6)對消冗文件系統(tǒng)穩(wěn)定性測試;根據消冗文件系統(tǒng)所在的分區(qū)空間大小設置適當的寫入數據量,每次順序(隨機)寫入不同的數據,重復率60%,每個文件寫完后進行讀取,連續(xù)進行100次文件讀寫,每個文件讀寫完成后性能結果輸出到指定文件中。這樣即可測試消冗文件系統(tǒng)長時間工作狀態(tài)的穩(wěn)定性,也可以測試出在數據量不斷增加的情況下的讀寫性能變化,例如運行命令為:./TestProcess–i67–s200G–r128k–n100–h0–w–p60%-f/mnt/sdetest.dat./test.log測試完成后自動把每個文件的讀寫結果輸出到指定的文件test.log中,從而形成性能變化曲線以數據量為橫坐標,縱坐標是讀寫性能,達到測試目的。