两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

塊級別存儲系統(tǒng)性能測試工具的制作方法

文檔序號:9631467閱讀:566來源:國知局
塊級別存儲系統(tǒng)性能測試工具的制作方法
【技術領域】
[0001]本發(fā)明涉及根據(jù)來自真實存儲系統(tǒng)的I/O記錄,生成相同的I/O請求負載,以模擬運行環(huán)境的真實負載變化,從而達到對存儲系統(tǒng)進行性能測試的塊級別存儲系統(tǒng)性能測試工具。
【背景技術】
[0002]近年來,數(shù)據(jù)爆炸性增長而計算能力迅速提高,I/O密集型的應用提出高帶寬、低延遲的存儲性能需求。塊級別存儲設備應用廣泛,其上可以構建裸設備、文件系統(tǒng)、數(shù)據(jù)庫、云存儲等多種訪問接口。因此,研制高性能的塊級別存儲系統(tǒng)一直是存儲系統(tǒng)研究領域的一個熱點。性能測試有助于確定影響存儲系統(tǒng)性能的關鍵因素,從而可以有針對性地進行分析和改進;亦可用于比較不同的存儲系統(tǒng),為選取或購買存儲系統(tǒng)提供參考。面對高容量存儲設備,復雜的網(wǎng)絡存儲系統(tǒng),以及多維度的應用需求,有必要推動現(xiàn)有存儲系統(tǒng)測試評價技術,設計并實現(xiàn)可信、可靠、可重復的存儲系統(tǒng)性能測試工具。
[0003]通常情況下,一個存儲系統(tǒng)性能的好壞,主要通過它處理負載的能力來衡量。根據(jù)添加負載的真實程度和輕重情況的不同來劃分,一般有三種方法可以實現(xiàn)。運行實際應用,即搭建真實的系統(tǒng)環(huán)境,添加用戶所關心的真實的應用負載;生成人工合成負載,即針對系統(tǒng)的情況以及用戶群體的需求等,來生成合成的負載,并向該系統(tǒng)播放;播放I/O記錄,SP向存儲系統(tǒng)播放已有的,得到公眾認可的真實的負載。
[0004]存儲系統(tǒng)性能測試的最準確方法是運行真正使用的應用程序。但是,應用程序往往難于配置,甚至由于涉密等原因而不可使用。而且當用戶需求發(fā)生變化而重新測試時,需要修改應用,重新配置實驗環(huán)境,使得該方法的復雜度明顯提高。人工負載生成技術與trace重放同時具有實現(xiàn)復雜度低的優(yōu)勢,但是人工合成的負載不具有真實性,它依賴I/O負載生成程序并根據(jù)用戶指定的參數(shù)配置,生成用戶預期的負載。已有的I/O負載生成程序包括 TPC 基準測試程序,Postmark, 1zone,Bonnie, SPC,SPEC SFS,1meter 等。用人工負載生成工具來預測現(xiàn)實世界中系統(tǒng)的性能是具有挑戰(zhàn)性的,而且配置和運行起來很復雜。trace重放技術提供了基于實際應用程序測試的一種替代方案。trace是在真實應用或者基準應用程序運行過程中記錄的存儲訪問日志。給定某個應用程序的1/0記錄,trace重放技術試圖生成相同的1/0請求負載,以模擬運行環(huán)境的真實負載變化。trace重放技術的優(yōu)點是負載有代表性且易于使用。
[0005]通過播放1/0記錄的方式進行塊級別存儲系統(tǒng)性能測試,兼具運行實際應用的真實程度高和生成人工合成負載的實現(xiàn)難度低的雙重優(yōu)勢,即負載真實具有代表性,且不需要配置參數(shù),運行起來簡單方便。但是,已有的1/0記錄重放工具缺乏簡單而精確地重現(xiàn)1/0負載的能力,容易給存儲系統(tǒng)性能指標觀測值帶來顯著誤差。

【發(fā)明內(nèi)容】

[0006]針對現(xiàn)有技術中的問題,本發(fā)明提供一種測試工具,根據(jù)來自真實存儲系統(tǒng)的1/0記錄,生成相同的I/O請求負載,以模擬運行環(huán)境的真實負載變化,進而達到對存儲系統(tǒng)進行性能測試的目的。
[0007]為實現(xiàn)以上技術目的,本發(fā)明的技術方案是:本發(fā)明1mark根據(jù)來自真實存儲系統(tǒng)的I/O記錄,生成相同的I/O請求負載,以模擬運行環(huán)境的真實負載變化,進而達到對存儲系統(tǒng)進行性能測試的目的。如附圖1所示,1mark由五個功能器件組成,包括I/O記錄讀取器、I/O請求控制器、I/O發(fā)射器、結果收集器和結果分析器。
[0008](1) I/O記錄讀取器負責將trace文件中的I/O記錄讀取出來,每條I/O記錄的內(nèi)容一般包括:盤號、開始字節(jié)、訪問的字節(jié)總數(shù)、請求開始時間。
[0009](2) I/O請求控制器主要有三個功能,控制負載的輕重,跟蹤I/O記錄的狀態(tài)和控制I/O記錄的發(fā)送時間。(3) I/O發(fā)射器負責將I/O請求以異步的方式提交出去,交給系統(tǒng)去處理。
[0010](4)結果收集器在播放I/O記錄過程中,查看I/O讀寫的狀態(tài),如果I/O讀寫完成,則將性能測試的結果數(shù)據(jù)收集到結果文件中。
[0011](5)結果分析器在測試結束后,按照測試人員的要求將結果文件中的數(shù)據(jù)進行統(tǒng)計和分析,采用累計分布函數(shù)(cumulative distribut1n funct1n, CDF)、分段求均值等統(tǒng)計方法,獲得方便評價存儲系統(tǒng)性能的數(shù)據(jù),避免數(shù)據(jù)量過大造成性能評價結果不直觀以及存在信息噪聲等問題。
[0012]從以上描述可以看出,本發(fā)明具備以下優(yōu)點:本發(fā)明1mark根據(jù)來自真實存儲系統(tǒng)的1/0記錄,生成相同的1/0請求負載,以模擬運行環(huán)境的真實負載變化,進而達到對存儲系統(tǒng)進行性能測試的目的。如附圖1所示,1mark由五個功能器件組成,包括1/0記錄讀取器、1/0請求控制器、1/0發(fā)射器、結果收集器和結果分析器。
[0013](1) 1/0記錄讀取器負責將trace文件中的1/0記錄讀取出來,每條1/0記錄的內(nèi)容一般包括:盤號、開始字節(jié)、訪問的字節(jié)總數(shù)、請求開始時間。
[0014](2) 1/0請求控制器主要有三個功能,控制負載的輕重,跟蹤1/0記錄的狀態(tài)和控制1/0記錄的發(fā)送時間。(3) 1/0發(fā)射器負責將1/0請求以異步的方式提交出去,交給系統(tǒng)去處理。
[0015](4)結果收集器在播放1/0記錄過程中,查看1/0讀寫的狀態(tài),如果1/0讀寫完成,則將性能測試的結果數(shù)據(jù)收集到結果文件中。
[0016](5)結果分析器在測試結束后,按照測試人員的要求將結果文件中的數(shù)據(jù)進行統(tǒng)計和分析,采用累計分布函數(shù)(cumulative distribut1n funct1n, CDF)、分段求均值等統(tǒng)計方法,獲得方便評價存儲系統(tǒng)性能的數(shù)據(jù),避免數(shù)據(jù)量過大造成性能評價結果不直觀以及存在信息噪聲等問題。
【附圖說明】
[0017]圖1是本發(fā)明的塊級別存儲系統(tǒng)性能測試工具的結構示意圖。
【具體實施方式】
[0018]根據(jù)附圖1所述,一種塊級別存儲系統(tǒng)性能測試工具,包括1/0記錄讀取器、1/0請求控制器、1/0發(fā)射器、結果收集器和結果分析器,1/0記錄讀取器將trace文件中的1/0記錄讀取出來,每條I/O記錄的內(nèi)容包括:盤號、開始字節(jié)、訪問的字節(jié)總數(shù)、請求開始時間;1/0請求控制器有三個功能,控制負載的輕重,跟蹤I/O記錄的狀態(tài)和控制I/O記錄的發(fā)送時間;1/0發(fā)射器負責將I/O請求以異步的方式提交出去,交給系統(tǒng)去處理;結果收集器在播放I/O記錄過程中,查看I/O讀寫的狀態(tài),當I/O讀寫完成,則將性能測試的結果數(shù)據(jù)收集到結果文件中。
[0019]1、I/O請求控制
[0020]1.1負載輕重控制
[0021]1mark通過篩選盤號來控制負載的輕重。從trace文件中讀取的每條I/O記錄的目標設備是用盤號標記的,而盤號的分布是不均勻的。1mark通過選擇帶有某個或某些盤號的I/O記錄進行播放來控制負載的輕重。
[0022]1.2記錄I/O請求狀態(tài)
[0023]1mark使用循環(huán)隊列記錄I/O請求的狀態(tài)信息。該隊列不遵守先進先出規(guī)則,用來存儲一些基本信息。比如,在I/o請求發(fā)射之后記錄發(fā)射時間,用于I/O完成后統(tǒng)計I/O延遲時間。在播放I/O記錄進行測試之前,1mark為循環(huán)隊列預分配內(nèi)存空間。在整個測試過程中,循環(huán)隊列反復使用。當性能測試完成之后,再將申請的內(nèi)存空間釋放。
[0024]1mark使用占用標識來表示隊列項是否正被使用。當一個I/O操作開始之前,在循環(huán)隊列中循環(huán)查找一個空閑的數(shù)組項,并將該項的占用標識置1。當某個1/0操作完成后,從b1結構體的數(shù)據(jù)項找到對應的數(shù)組項,并將該數(shù)組項的占用標識置0。
[0025]2、1/0請求發(fā)射
[0026]2.1發(fā)射時間的控制
[0027]理論上,向系統(tǒng)發(fā)送1/0請求的發(fā)送時間應該為1/0記錄中的請求時間。但是,當trace文件中某一時間段的1/0記錄數(shù)量巨大時,發(fā)送1/0請求的速度會大于系統(tǒng)處理1/0請求的速度,使得請求時間不一定恰好為發(fā)送時間。當請求時間大于當前時間時,線程需要睡眠一段時間,直至當前時間增長到請求時間;相反,當請求時間小于當前時間時,則產(chǎn)生了延遲,1mark立刻將該1/0請求發(fā)射出去。
[0028]2.21/0請求的發(fā)射方式
[0029]1/0記錄讀取器讀取負載信息,通過1/0請求控制器進行相應的控制。最后是由I/o發(fā)射器負責將1/0記錄發(fā)射出去。本文采用內(nèi)核態(tài)異步1/0的訪問方式來處理1/0請求,將I/o請求提交之后,不需要等待1/0讀寫操作完成。這樣,1/0記錄讀取器、1/0請求控制器和I/O發(fā)射器不斷循環(huán)執(zhí)行,不停地向系統(tǒng)提交1/0請求。1/0請求發(fā)射之后,linux內(nèi)核的底層通過一系列的系統(tǒng)調(diào)用,實現(xiàn)對磁盤的讀寫操作。
[0030]以上對本發(fā)明及其實施方式進行了描述,該描述沒有限制性,附圖中所示的也只是本發(fā)明的實施方式之一,實際的結構并不局限于此。總而言之如果本領域的普通技術人員受其啟示,在不脫離本發(fā)明創(chuàng)造宗旨的情況下,不經(jīng)創(chuàng)造性的設計出與該技術方案相似的結構方式及實施例,均應屬于本發(fā)明的保護范圍。以上對本發(fā)明及其實施方式進行了描述,該描述沒有限制性,附圖中所示的也只是本發(fā)明的實施方式之一,實際的結構并不局限于此。總而言之如果本領域的普通技術人員受其啟示,在不脫離本發(fā)明創(chuàng)造宗旨的情況下,不經(jīng)創(chuàng)造性的設計出與該技術方案相似的結構方式及實施例,均應屬于本發(fā)明的保護范圍。
【主權項】
1.一種塊級別存儲系統(tǒng)性能測試工具,包括I/O記錄讀取器、I/O請求控制器、I/O發(fā)射器、結果收集器和結果分析器,I/o記錄讀取器將trace文件中的I/O記錄讀取出來,每條I/O記錄的內(nèi)容包括:盤號、開始字節(jié)、訪問的字節(jié)總數(shù)、請求開始時間;1/0請求控制器有三個功能,控制負載的輕重,跟蹤I/O記錄的狀態(tài)和控制I/O記錄的發(fā)送時間;1/0發(fā)射器負責將I/O請求以異步的方式提交出去,交給系統(tǒng)去處理;結果收集器在播放I/O記錄過程中,查看I/O讀寫的狀態(tài),當I/O讀寫完成,則將性能測試的結果數(shù)據(jù)收集到結果文件中。
【專利摘要】本發(fā)明涉及根據(jù)來自真實存儲系統(tǒng)的I/O記錄,生成相同的I/O請求負載,以模擬運行環(huán)境的真實負載變化,從而達到對存儲系統(tǒng)進行性能測試的塊級別存儲系統(tǒng)性能測試工具,包括I/O記錄讀取器、I/O請求控制器、I/O發(fā)射器、結果收集器和結果分析器,I/O記錄讀取器將trace文件中的I/O記錄讀取出來,每條I/O記錄的內(nèi)容包括:盤號、開始字節(jié)、訪問的字節(jié)總數(shù)、請求開始時間;I/O請求控制器有三個功能,控制負載的輕重,跟蹤I/O記錄的狀態(tài)和控制I/O記錄的發(fā)送時間;I/O發(fā)射器負責將I/O請求以異步的方式提交出去,交給系統(tǒng)去處理;結果收集器在播放I/O記錄過程中,查看I/O讀寫的狀態(tài),當I/O讀寫完成,則將性能測試的結果數(shù)據(jù)收集到結果文件中。
【IPC分類】G06F11/22
【公開號】CN105389237
【申請?zhí)枴緾N201510939261
【發(fā)明人】葛春
【申請人】江蘇辰云信息科技有限公司
【公開日】2016年3月9日
【申請日】2015年12月15日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
纳雍县| 仙游县| 抚松县| 苍溪县| 张北县| 刚察县| 清水河县| 什邡市| 山西省| 五台县| 惠东县| 德令哈市| 广东省| 开封县| 衡东县| 荃湾区| 舟曲县| 陇南市| 台南县| 林甸县| 彝良县| 平邑县| 宾川县| 岳池县| 临夏县| 乐业县| 日照市| 鹤壁市| 万源市| 姜堰市| 靖西县| 东阿县| 庄河市| 定兴县| 庆城县| 疏勒县| 西昌市| 株洲市| 永新县| 太原市| 安丘市|