專利名稱:一種針對(duì)Linux文件系統(tǒng)的性能測(cè)試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及開源操作系統(tǒng)技術(shù)領(lǐng)域,尤其涉及針對(duì)Linux文件系統(tǒng)的性能測(cè)試方法。
背景技術(shù):
目前,針對(duì)Linux文件系統(tǒng)的性能測(cè)試方法主要是基準(zhǔn)測(cè)試方法。所謂基準(zhǔn)測(cè)試就是通過設(shè)計(jì)科學(xué)的測(cè)試方法、測(cè)試工具和測(cè)試系統(tǒng),實(shí)現(xiàn)對(duì)一類測(cè)試對(duì)象的某項(xiàng)性能指標(biāo)進(jìn)行定量的和可對(duì)比的測(cè)試?;鶞?zhǔn)測(cè)試工具大體分為三類Micro_benchmarks (即微觀基準(zhǔn)測(cè)試工具)、Macro-benchmarks (宏觀基準(zhǔn)測(cè)試工具)和Replaying traces (可重放跟蹤文件)。Linux文件系統(tǒng)的Micro-benchmarks測(cè)試主要針對(duì)文件系統(tǒng)某一個(gè)或多個(gè)具體的操作性能進(jìn)行測(cè)試,其測(cè)試負(fù)載通常由不同類型的操作組成,并以此來凸現(xiàn)文件系統(tǒng)某一方面或者某些方面的特征。Micro-benchmarks測(cè)試的優(yōu)點(diǎn)是能從微觀的角度幫助用戶了解文件系統(tǒng)某些特點(diǎn)方面的性能,且測(cè)試結(jié)果容易分析和理解;但存在的主要問題是測(cè)試覆蓋率低;硬件上的微觀性能難以反映文件系統(tǒng)的真實(shí)工作性能。Linux文件系統(tǒng)的Macro-benchmarks測(cè)試是通過模擬文件系統(tǒng)的真實(shí)工作負(fù)載來對(duì)文件系統(tǒng)的綜合性能進(jìn)行評(píng)估。這種測(cè)試方法的目標(biāo)是盡可能真實(shí)地產(chǎn)生符合文件系統(tǒng)實(shí)際行為的測(cè)試負(fù)載。Macro-benchmarks測(cè)試的優(yōu)點(diǎn)是能從宏觀的角度確定合適的工作量來模擬有代表性的負(fù)載和用戶作業(yè);但也存在如所模擬的應(yīng)用負(fù)載并不是用戶所關(guān)心的負(fù)載、工作負(fù)載不能靈活配置、默認(rèn)負(fù)載過于陳舊、針對(duì)的Linux文件系統(tǒng)類型過于單一等問題。Linux文件系統(tǒng)的Replaying traces測(cè)試收集到現(xiàn)實(shí)負(fù)載下的文件系統(tǒng)操作日志記錄,并按照一定格式記錄在trace文件中,然后在測(cè)試時(shí)按照收集的trace文件中的跟蹤記錄重播程序向文件系統(tǒng)發(fā)出1/0請(qǐng)求,從而對(duì)文件系統(tǒng)的真實(shí)應(yīng)用行為進(jìn)行性能評(píng)估。Replaying traces的目標(biāo)與Macro-benchmarks類似,都是產(chǎn)生能充分反映真實(shí)應(yīng)用環(huán)境的工作負(fù)載。但是由于它們需要一個(gè)權(quán)威的機(jī)構(gòu)對(duì)其進(jìn)行統(tǒng)一存儲(chǔ)管理,包括錄制、發(fā)布、存儲(chǔ)、使用說明等都應(yīng)該有統(tǒng)一的標(biāo)準(zhǔn)的管理,就使得它們的使用變得復(fù)雜和繁瑣。
發(fā)明內(nèi)容
本發(fā)明提供了一種針對(duì)Linux文件系統(tǒng)性能進(jìn)行評(píng)估的方法,有效解決了當(dāng)前針對(duì)Linux文件系統(tǒng)基準(zhǔn)測(cè)試工具中存在的測(cè)試覆蓋率低、可擴(kuò)展性差、難以反應(yīng)文件系統(tǒng)的真實(shí)工作性能的問題。本發(fā)明所采取的技術(shù)方案是一種針對(duì)Linux文件系統(tǒng)的性能評(píng)估方法,該方法從三個(gè)維度來對(duì)Linux文件系統(tǒng)的性能進(jìn)行評(píng)估,具體包括微觀讀寫帶寬測(cè)試,通過模擬多個(gè)10操作的應(yīng)用場(chǎng)景對(duì)Linux文件系統(tǒng)微觀讀寫帶寬進(jìn)行測(cè)試;
事務(wù)操作吞吐量測(cè)試,通過基于隨機(jī)概率的事務(wù)交叉循環(huán)操作方式對(duì)Linux文件系統(tǒng)的文件操作吞吐量進(jìn)行測(cè)試;宏觀典型應(yīng)用模擬測(cè)試,通過基于多線程的可擴(kuò)展負(fù)載模型構(gòu)建方式對(duì)典型應(yīng)用場(chǎng)景進(jìn)行模擬從而評(píng)估Linux文件系統(tǒng)的真實(shí)工作性能。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)是(I)本發(fā)明針對(duì)微觀讀寫帶寬測(cè)試,對(duì)常用的讀寫測(cè)試點(diǎn)進(jìn)行了擴(kuò)充,有效提高了測(cè)試覆蓋率。(2)本發(fā)明針對(duì)事務(wù)操作吞吐量的測(cè)試,設(shè)計(jì)了豐富的可擴(kuò)展測(cè)試負(fù)載配置參數(shù)和豐富的指標(biāo)集,并采取基于隨機(jī)概率的事務(wù)循環(huán)交叉操作方式來模擬現(xiàn)實(shí)應(yīng)用中的文件操作行為。有效提高了測(cè)試負(fù)載的可擴(kuò)展性和測(cè)試結(jié)果的真實(shí)性與可對(duì)比性。(3)本發(fā)明針對(duì)宏觀典型應(yīng)用的模擬測(cè)試,采取了基于多線程的可擴(kuò)展負(fù)載模型構(gòu)建方式來模擬文件在實(shí)際應(yīng)用中的真實(shí)工作負(fù)載,在保證了負(fù)載的現(xiàn)實(shí)性同時(shí)也提高了負(fù)載的可擴(kuò)展性。
圖I是本發(fā)明的針對(duì)Linux文件系統(tǒng)的事務(wù)操作吞吐量測(cè)試的實(shí)施流程圖。圖2是本發(fā)明的針對(duì)Linux文件系統(tǒng)的宏觀典型應(yīng)用模擬測(cè)試中的網(wǎng)絡(luò)代理應(yīng)用默認(rèn)測(cè)試負(fù)載。圖3是本發(fā)明的針對(duì)Linux文件系統(tǒng)的宏觀典型應(yīng)用模擬測(cè)試中的網(wǎng)絡(luò)代理應(yīng)用模擬測(cè)試流程圖。
具體實(shí)施例方式本發(fā)明是一種針對(duì)Linux文件系統(tǒng)的性能評(píng)估方法,該方法從三個(gè)維度來對(duì)Linux文件系統(tǒng)的性能進(jìn)行評(píng)估,具體包括微觀讀寫帶寬測(cè)試,通過模擬多個(gè)IO操作的應(yīng)用場(chǎng)景對(duì)Linux文件系統(tǒng)微觀讀寫帶寬進(jìn)行測(cè)試;事務(wù)操作吞吐量測(cè)試,通過基于隨機(jī)概率的事務(wù)交叉循環(huán)操作方式對(duì)Linux文件系統(tǒng)的文件操作吞吐量進(jìn)行測(cè)試;宏觀典型應(yīng)用模擬測(cè)試,通過基于多線程的可擴(kuò)展負(fù)載模型構(gòu)建方式對(duì)典型應(yīng)用場(chǎng)景進(jìn)行模擬從而評(píng)估Linux文件系統(tǒng)的真實(shí)工作性能。一、微觀讀寫帶寬測(cè)試對(duì)于微觀讀寫測(cè)試場(chǎng)景的設(shè)計(jì)主要分為6個(gè)步驟。具體描述如下步驟I :選取微觀測(cè)試點(diǎn)。需要對(duì)IO操作的發(fā)生規(guī)律進(jìn)行統(tǒng)計(jì),包括讀寫位置選取、讀寫文件的存在與否等,并在此基礎(chǔ)之上建立相應(yīng)的存取模型。本發(fā)明選取順序讀寫、隨機(jī)讀寫、倒序讀、跳躍讀、寫與覆蓋寫、內(nèi)存映射讀寫六種存取模型對(duì)文件系統(tǒng)的微觀讀寫操作性能進(jìn)行測(cè)試。并針對(duì)不同的存取模型了設(shè)計(jì)了 12個(gè)微觀測(cè)試點(diǎn)來從不同的角度對(duì)Linux文件系統(tǒng)的讀寫性能進(jìn)行測(cè)試。如表I所示表I、讀寫方式測(cè)試操作種類簡(jiǎn)要介紹
Read順序讀文件
_Re-read順序讀最近讀過的文件
順序1實(shí)與Write順序?qū)懸粋€(gè)新文件
Re-wrtie順序?qū)懸粋€(gè)已存在文件
Random-read隨機(jī)讀已存在文件隨機(jī)讀寫Random-write隨機(jī)寫已存在文件
Random-mix讀寫兩種方式隨機(jī)混合操作·反向讀Backwards-read反向讀已存在文件
跳躍丨賣Stride-read跳躍讀已存在文件
寫與繼蓋寫Record-rewrite寫與覆蓋寫已存在文件
Mmap-read通過內(nèi)存映射機(jī)制讀火文件
內(nèi)存映射讀寫--z-
Mmap-write通過內(nèi)存映射機(jī)制巧大文件如表I所示,順序讀寫存取模式又分為四個(gè)測(cè)試操作場(chǎng)景,分別為ReacURe-read、Write和Re-write ;其中,Read是測(cè)試順序讀一個(gè)已存在的文件的性能,Re-read是測(cè)試對(duì)最近讀過的一個(gè)文件進(jìn)行再次讀取的性能,Write是測(cè)試向一個(gè)新文件進(jìn)行數(shù)據(jù)寫入的性能,Re-write是測(cè)試向一個(gè)已存在的文件進(jìn)行數(shù)據(jù)寫入的性能。如表I所示,隨機(jī)讀寫存取模式又分為3個(gè)測(cè)試操作場(chǎng)景,分別為Random-read、Random-write、Random-mix ;其中,Random-read是指測(cè)試從一個(gè)已有文件的隨機(jī)偏移量處進(jìn)行數(shù)據(jù)讀取的性能,Random-write是指測(cè)試向一個(gè)已有文件的隨機(jī)偏移量處進(jìn)行數(shù)據(jù)寫入的性能,Random-mix是指測(cè)試對(duì)文件進(jìn)行數(shù)據(jù)讀取和數(shù)據(jù)寫入隨機(jī)混合操作時(shí)的性能。如表I所示,內(nèi)存映射讀寫存取模式又分為2個(gè)測(cè)試操作場(chǎng)景,分別為Mmap-read和Mmap-write ;其中,Mmap-read是測(cè)試通過內(nèi)存映射機(jī)制對(duì)文件進(jìn)行數(shù)據(jù)讀取的性能,Mmap-write是測(cè)試通過內(nèi)存映射機(jī)制對(duì)文件進(jìn)行數(shù)據(jù)寫入的性能。步驟2:配置測(cè)試負(fù)載在測(cè)試開始之前,用戶需要指定測(cè)試的文件大小上下限和數(shù)據(jù)塊大小上下限,其中數(shù)據(jù)塊大小的上限需低于或者等于文件大小的下限。測(cè)試的過程則按照所設(shè)置的文件和數(shù)據(jù)塊大小的上下限進(jìn)行雙重循環(huán)測(cè)試,用以反映不同文件大小和不同數(shù)據(jù)塊大小下的讀
寫性能差異。步驟3 :測(cè)試初始化按照本輪測(cè)試的測(cè)試文件大小完成初始化操作,可包括創(chuàng)建文件、生成文件內(nèi)容、生成隨機(jī)節(jié)點(diǎn)、生成待寫入內(nèi)容等。不同的測(cè)試操作對(duì)應(yīng)的測(cè)試初始化操作不同。如順序讀寫模式中的Read是測(cè)試對(duì)已有文件進(jìn)行順序讀取的性能,需要進(jìn)行初始測(cè)試文件的創(chuàng)建以及測(cè)試文件內(nèi)容的生成。步驟4 :執(zhí)行單輪測(cè)試流程啟動(dòng)測(cè)試監(jiān)控,按照單輪測(cè)試的文件大小和數(shù)據(jù)塊大小執(zhí)行相應(yīng)的測(cè)試操作。如Read測(cè)試是按照本輪測(cè)試所設(shè)置數(shù)據(jù)塊大小將測(cè)試文件的內(nèi)容順序讀入緩沖區(qū),直至數(shù)據(jù)讀取完畢。步驟5 :統(tǒng)計(jì)單輪測(cè)試帶寬停止測(cè)試監(jiān)控,統(tǒng)計(jì)本輪測(cè)試下的單位時(shí)間內(nèi)的讀寫數(shù)據(jù)量,并記錄相應(yīng)文件大小和數(shù)據(jù)塊大小。步驟6 :雙重循環(huán)控制單輪讀寫測(cè)試執(zhí)行流程結(jié)束后,將檢查本輪測(cè)試的數(shù)據(jù)塊大小是否達(dá)到上限,如果沒有達(dá)到上限,則將數(shù)據(jù)塊大小增倍,測(cè)試文件大小保持不變,轉(zhuǎn)到步驟4啟動(dòng)下一輪測(cè)試;如果本輪測(cè)試數(shù)據(jù)塊大小已經(jīng)達(dá)到上限,則檢查本輪測(cè)試文件大小是否達(dá)到上限,如果沒有達(dá)到上限則測(cè)試文件大小增倍,并將數(shù)據(jù)塊大小重置為下限,轉(zhuǎn)到步驟4啟動(dòng)下一輪測(cè)試;如果本輪測(cè)試的數(shù)據(jù)塊大小和測(cè)試文件大小都達(dá)到了上限,則退出測(cè)試循環(huán)并刪除所有測(cè)試文件。 二、事務(wù)操作吞吐量測(cè)試事務(wù)操作吞吐量測(cè)試需要模擬事務(wù)批量操作和事務(wù)交叉操作來對(duì)文件事務(wù)操作的真實(shí)工作性能進(jìn)行評(píng)估,并提供靈活的測(cè)試配置參數(shù)與豐富的測(cè)試指標(biāo)幫助用戶從多個(gè)角度對(duì)文件系統(tǒng)事務(wù)操作性能進(jìn)行直觀分析。針對(duì)事務(wù)操作吞吐量的測(cè)試場(chǎng)景設(shè)計(jì)如圖I所示,事務(wù)操作吞吐量的測(cè)試場(chǎng)景包括步驟2中描述的文件批量創(chuàng)建測(cè)試操作、步驟3中描述的循環(huán)事務(wù)交叉測(cè)試操作、步驟4中描述的批量文件刪除3個(gè)階段。事務(wù)操作吞吐量測(cè)試包括5個(gè)步驟,具體描述如下步驟I :設(shè)計(jì)測(cè)試配置參數(shù)為了提供靈活的測(cè)試負(fù)載配置機(jī)制,需要對(duì)文件系統(tǒng)的實(shí)際事務(wù)操作特點(diǎn)進(jìn)行分析,從而設(shè)計(jì)豐富的符合實(shí)際負(fù)載特點(diǎn)的測(cè)試配置參數(shù)。如表2所示表權(quán)利要求
1.一種針對(duì)Linux文件系統(tǒng)的性能評(píng)估方法,其特征在于,該方法從三個(gè)維度來對(duì)Linux文件系統(tǒng)的性能進(jìn)行評(píng)估,具體包括 微觀讀寫帶寬測(cè)試,通過模擬多個(gè)IO操作的應(yīng)用場(chǎng)景對(duì)Linux文件系統(tǒng)微觀讀寫帶寬進(jìn)行測(cè)試; 事務(wù)操作吞吐量測(cè)試,通過基于隨機(jī)概率的事務(wù)交叉循環(huán)操作方式對(duì)Linux文件系統(tǒng)的文件操作吞吐量進(jìn)行測(cè)試; 宏觀典型應(yīng)用模擬測(cè)試,通過基于多線程的可擴(kuò)展負(fù)載模型構(gòu)建方式對(duì)典型應(yīng)用場(chǎng)景進(jìn)行模擬從而評(píng)估Linux文件系統(tǒng)的真實(shí)工作性能。
2.如權(quán)利要求I所述的對(duì)Linux文件系統(tǒng)的性能評(píng)估方法,其特征在于,所述的微觀讀寫帶寬測(cè)試主要分為6個(gè)步驟 步驟I :選取微觀測(cè)試點(diǎn),需要統(tǒng)計(jì)真實(shí)的IO操作發(fā)生規(guī)律,包括讀寫位置選取、讀寫 文件的存在與否,并在此基礎(chǔ)上建立典型的微觀讀寫存取模型; 步驟2 :配置測(cè)試負(fù)載,指定測(cè)試的文件大小上下限和數(shù)據(jù)塊大小上下限,其中數(shù)據(jù)塊大小的上限需低于或者等于文件大小的下限; 步驟3 :測(cè)試初始化,包括創(chuàng)建文件、生成文件內(nèi)容、生成隨機(jī)節(jié)點(diǎn)、生成待寫入內(nèi)容;步驟4 :執(zhí)行單輪測(cè)試流程,啟動(dòng)測(cè)試監(jiān)控,按照單輪測(cè)試的文件大小和數(shù)據(jù)塊大小執(zhí)行相應(yīng)的測(cè)試操作; 步驟5 :統(tǒng)計(jì)單輪測(cè)試帶寬,停止測(cè)試監(jiān)控,統(tǒng)計(jì)本輪測(cè)試下的單位時(shí)間內(nèi)的讀寫數(shù)據(jù)量,并記錄相應(yīng)文件大小和數(shù)據(jù)塊大??; 步驟6 :雙重循環(huán)控制,單輪讀寫測(cè)試執(zhí)行流程結(jié)束后,檢查本輪測(cè)試的數(shù)據(jù)塊大小是否達(dá)到上限,如果沒有達(dá)到上限,則將數(shù)據(jù)塊大小增倍,測(cè)試文件大小保持不變,轉(zhuǎn)到步驟4啟動(dòng)下一輪測(cè)試;如果本輪測(cè)試數(shù)據(jù)塊大小已經(jīng)達(dá)到上限,則檢查本輪測(cè)試文件大小是否達(dá)到上限,如果沒有達(dá)到上限則測(cè)試文件大小增倍,并將數(shù)據(jù)塊大小重置為下限,轉(zhuǎn)到步驟4啟動(dòng)下一輪測(cè)試;如果本輪測(cè)試的數(shù)據(jù)塊大小和測(cè)試文件大小都達(dá)到了上限,則退出測(cè)試循環(huán)并刪除所有測(cè)試文件。
3.如權(quán)利要求2所述的對(duì)Linux文件系統(tǒng)的性能評(píng)估方法,其特征在于,所述典型的微觀讀寫存取模型包括順序讀寫模型;隨機(jī)讀寫模型;倒序讀模型;跳躍讀模型;寫與覆蓋與豐旲型;內(nèi)存映射讀與I旲型; 所述的順序讀寫存取模式又分為4個(gè)測(cè)試操作場(chǎng)景,分別為Read、Re-read、Write和Re-write ;其中,Read是測(cè)試順序讀一個(gè)已存在的文件的性能,Re-read是測(cè)試對(duì)最近讀過的一個(gè)文件進(jìn)行再次讀取的性能,Write是測(cè)試向一個(gè)新文件進(jìn)行數(shù)據(jù)寫入的性能,Re-write是測(cè)試向一個(gè)已存在的文件進(jìn)行數(shù)據(jù)寫入的性能; 所述的隨機(jī)讀寫存取模式又分為3個(gè)測(cè)試操作場(chǎng)景,分別為Random-read、Random-write> Random-mix ;其中,Random-read是指測(cè)試從一個(gè)已有文件的隨機(jī)偏移量處進(jìn)行數(shù)據(jù)讀取的性能,Random-write是指測(cè)試向一個(gè)已有文件的隨機(jī)偏移量處進(jìn)行數(shù)據(jù)寫入的性能,Random-mix是指測(cè)試對(duì)文件進(jìn)行數(shù)據(jù)讀取和數(shù)據(jù)寫入隨機(jī)混合操作時(shí)的性能;所述的內(nèi)存映射讀寫存取模式又分為2個(gè)測(cè)試操作場(chǎng)景,分別為Mmap-read和Mmap-write ;其中,Mmap-read是測(cè)試通過內(nèi)存映射機(jī)制對(duì)文件進(jìn)行數(shù)據(jù)讀取的性能,Mmap-write是測(cè)試通過內(nèi)存映射機(jī)制對(duì)文件進(jìn)行數(shù)據(jù)寫入的性能。
4.如權(quán)利要求I所述的對(duì)Linux文件系統(tǒng)的性能評(píng)估方法,其特征在于,所述的事務(wù)操作吞吐量測(cè)試,具體包括5個(gè)步驟 步驟I :設(shè)計(jì)測(cè)試配置參數(shù); 步驟2 :執(zhí)行文件批量創(chuàng)建測(cè)試操作,該階段執(zhí)行的操作包括啟動(dòng)測(cè)試,然后記錄測(cè)試開始時(shí)間startjime,并按照用戶所設(shè)置的并發(fā)文件數(shù)量以及文件平均大小順序批量創(chuàng)建文件,最后記錄事務(wù)隨機(jī)交叉循環(huán)測(cè)試操作開始時(shí)間t_start_time ; 步驟3 :執(zhí)行事務(wù)隨機(jī)交叉循環(huán)測(cè)試操作,該階段以用戶設(shè)置的事務(wù)操作比例為依據(jù)隨機(jī)交叉執(zhí)行不同的事務(wù)操作; 步驟4 :執(zhí)行批量文件刪除測(cè)試操作,該階段執(zhí)行的操作包括首先記錄事務(wù)隨機(jī)交叉循環(huán)測(cè)試操作結(jié)束時(shí)間t_end_time,然后批量刪除所有剩余測(cè)試文件并記錄測(cè)試結(jié)束時(shí)間end—time ; 步驟5 :統(tǒng)計(jì)各項(xiàng)測(cè)試指標(biāo)。
5.如權(quán)利要求4所述的對(duì)Linux文件系統(tǒng)的性能評(píng)估方法,其特征在于,所述測(cè)試配置參數(shù),具體包括 文件尺寸的上下限; 并發(fā)文件集的數(shù)量; 子目錄數(shù)量; 讀操作數(shù)據(jù)塊大??; 寫操作數(shù)據(jù)塊大小; 讀/寫操作比例; 創(chuàng)建/刪除操作比例; 事務(wù)執(zhí)行次數(shù)。
6.如權(quán)利要求4所述的對(duì)Linux文件系統(tǒng)的性能評(píng)估方法,其特征在于,所述的事務(wù)隨機(jī)交叉循環(huán)操作階段,針對(duì)Create、Delete、Read、Append這4種文件操作類型,該階段的事務(wù)操作分為兩大類Create/Delete和Read/Append,然后根據(jù)用戶設(shè)置的讀/寫操作比例和創(chuàng)建/刪除操作比例為依據(jù)隨機(jī)交叉循環(huán)執(zhí)行不同的文件操作,具體步驟包括 步驟31 :判斷是否執(zhí)行Read/Append操作,若否則轉(zhuǎn)向步驟32,若是則按照Read/Append操作比例產(chǎn)生一個(gè)隨機(jī)數(shù)用來判斷本次循環(huán)是否執(zhí)行Read操作,如果是,則執(zhí)行一次Read操作,如果否,則執(zhí)行一次Append操作; 步驟32 :判斷是否執(zhí)行Create/Delete操作,若否則轉(zhuǎn)向步驟33,若是則按照Create/Delete操作比例產(chǎn)生一個(gè)隨機(jī)數(shù)用來判斷本次循環(huán)是否執(zhí)行Create操作,如果是,則執(zhí)行一次Create操作,如果否,則執(zhí)行一次Delete操作; 步驟33 :將事務(wù)執(zhí)行次數(shù)加1,若事務(wù)執(zhí)行次數(shù)達(dá)到用戶設(shè)定的值,則事務(wù)隨機(jī)交叉循環(huán)操作階段結(jié)束,進(jìn)入文件批量刪除階段;否則轉(zhuǎn)向步驟31。
7.如權(quán)利要求4所述的對(duì)Linux文件系統(tǒng)的性能評(píng)估方法,其特征在于,所述的事務(wù)操作吞吐量的測(cè)試指標(biāo)包括總吞吐量、批量操作吞吐量和交叉操作吞吐量; 其中,總吞吐量包括事務(wù)總吞吐量和文件創(chuàng)建/刪除總吞吐量;事務(wù)總吞吐量是指單位時(shí)間內(nèi)執(zhí)行的事務(wù)次數(shù),計(jì)算方式為transactions/t_elapsed, transactions為用戶執(zhí)行的事務(wù)執(zhí)行次數(shù),t_elapsed=t_end_time-t_start_time, t_start_time 為所述事務(wù)隨機(jī)交叉循環(huán)執(zhí)行開始時(shí)間,t_end_time為所述事務(wù)隨機(jī)交叉循環(huán)執(zhí)行結(jié)束時(shí)間;文件創(chuàng)建/刪除總吞吐量是指單位時(shí)間內(nèi)創(chuàng)建/刪除的文件數(shù)量,計(jì)算方式為fileS_Created/elapsed, files_created 為測(cè)試過程中所創(chuàng)建的文件數(shù)量,elapsed=end_time-start_time, start_time為所述測(cè)試執(zhí)行開始時(shí)間,end_time為測(cè)試執(zhí)行結(jié)束時(shí)間; 批量操作吞吐量包括文件批量創(chuàng)建吞吐量和文件批量刪除吞吐量,文件批量創(chuàng)建吞吐量是指單位時(shí)間內(nèi)批量創(chuàng)建的文件數(shù)量,計(jì)算方式為files_init/interval I, files_init為用戶指定的并發(fā)文件數(shù)量,intervall=t_start_time-start_time ;文件批量刪除吞吐量是指單位時(shí)間內(nèi)批量刪除的文件數(shù)量,計(jì)算方式為deleted/interval2, deleted為文件批量刪除階段所刪除的文件數(shù)量,interval2=end_time-t_end_time ; 交叉操作吞吐量包括事務(wù)交叉時(shí)讀操作吞吐量、事務(wù)交叉時(shí)追加文件吞吐量、事務(wù)交叉時(shí)創(chuàng)建文件吞吐量、事務(wù)交叉時(shí)刪除文件吞吐量;事務(wù)交叉時(shí)讀操作吞吐量是指事務(wù)交叉時(shí)單位時(shí)間內(nèi)的文件讀取次數(shù),計(jì)算方式為files_read/t_elapsed, files_read是指測(cè) 試過程中讀文件的次數(shù);事務(wù)交叉時(shí)追加文件吞吐量是指事務(wù)交叉時(shí)單位時(shí)間內(nèi)文件追 加次數(shù),計(jì)算方式為files_appended/t_elapsed, f iles_appended是指測(cè)試過程中寫文件的次數(shù);事務(wù)交叉時(shí)創(chuàng)建文件吞吐量是指事務(wù)交叉時(shí)單位時(shí)間內(nèi)文件創(chuàng)建個(gè)數(shù),計(jì)算方式為(files_created_files_init)/t_elapsed, files_created 是指測(cè)試過程中的文件創(chuàng)建總數(shù);事務(wù)交叉時(shí)刪除文件吞吐量是指事務(wù)交叉時(shí)單位時(shí)間內(nèi)文件刪除個(gè)數(shù),計(jì)算方式為(files_deleted-deleted)/t_elapsed, files_deleted 是指測(cè)試過程中的文件刪除總數(shù)。
8.如權(quán)利要求I所述的對(duì)Linux文件系統(tǒng)的性能評(píng)估方法,其特征在于,所述宏觀典型應(yīng)用模擬測(cè)試,主要分為6個(gè)步驟 步驟I :分析真實(shí)應(yīng)用的負(fù)載特點(diǎn); 步驟2 :定義仿真線程樹; 步驟3:定義測(cè)試配置參數(shù); 步驟4:定義默認(rèn)測(cè)試負(fù)載; 步驟5 :啟動(dòng)測(cè)試執(zhí)行操作,該過程主要是進(jìn)行測(cè)試的實(shí)時(shí)監(jiān)控與記錄,并進(jìn)行不同線程的同步控制; 步驟6 :統(tǒng)計(jì)測(cè)試指標(biāo),根據(jù)測(cè)試過程中實(shí)時(shí)記錄的文件操作信息統(tǒng)計(jì)模擬測(cè)試場(chǎng)景中的文件操作總吞吐量、文件讀寫總帶寬和CPU占用率; 其中,文件操作總吞吐量是指單位時(shí)間內(nèi)所完成的文件操作次數(shù),所述文件操作包括文件創(chuàng)建、刪除、讀取和寫入,該項(xiàng)指標(biāo)值是通過測(cè)試過程中完成的文件操作總次數(shù)除以測(cè)試執(zhí)行總時(shí)間而獲得; 文件讀寫總帶寬是指單位時(shí)間內(nèi)的文件數(shù)據(jù)傳輸總量,單位為MB/s,該項(xiàng)指標(biāo)是通過測(cè)試過程中所有讀寫操作完成的數(shù)據(jù)傳輸量除以測(cè)試執(zhí)行總時(shí)間而獲得; CPU占用率是指單個(gè)文件操作所占用的CPU時(shí)間,該項(xiàng)指標(biāo)通過測(cè)試執(zhí)行過程的總CPU占用時(shí)間除以從文件操作次數(shù)而獲得。
9.如權(quán)利要求8所述的對(duì)Linux文件系統(tǒng)的性能評(píng)估方法,其特征在于,所述啟動(dòng)測(cè)試執(zhí)行操作為網(wǎng)頁代理應(yīng)用的測(cè)試操作,其執(zhí)行流程具體操作包括 步驟51 :啟動(dòng)主線程測(cè)試,并按照指定的初始文件數(shù)量、單個(gè)目錄下的平均文件數(shù)量以及平均文件大小分配測(cè)試初始文件集;其中文件集的目錄分配與文件大小分配均服從gamma分布; 步驟52:啟動(dòng)測(cè)試監(jiān)控,并按照測(cè)試負(fù)載中指定的并發(fā)線程個(gè)數(shù)并開啟多個(gè)測(cè)試線程,用于模仿多個(gè)用戶對(duì)文件服務(wù)器進(jìn)行并發(fā)訪問的情況; 步驟53 :多個(gè)網(wǎng)頁代理線程并發(fā)執(zhí)行仿真線程樹中定義的文件操作, 依次為刪除文件、創(chuàng)建文件、向文件追加內(nèi)容、然后連續(xù)執(zhí)行5次隨機(jī)讀操作; 步驟54 :在步驟53進(jìn)行的同時(shí),主線程對(duì)所有網(wǎng)頁代理線程進(jìn)行測(cè)試監(jiān)控,直到所有的線程執(zhí)行完畢。
全文摘要
本發(fā)明提供了一種針對(duì)Linux文件系統(tǒng)的性能測(cè)試方法,該方法從三個(gè)維度來對(duì)Linux文件系統(tǒng)的性能進(jìn)行評(píng)估,具體包括微觀讀寫帶寬測(cè)試,通過模擬多個(gè)IO操作的應(yīng)用場(chǎng)景對(duì)Linux文件系統(tǒng)微觀讀寫帶寬進(jìn)行測(cè)試;事務(wù)操作吞吐量測(cè)試,通過基于隨機(jī)概率的事務(wù)交叉循環(huán)操作方式對(duì)Linux文件系統(tǒng)的文件操作吞吐量進(jìn)行測(cè)試;宏觀典型應(yīng)用模擬測(cè)試,通過基于多線程的可擴(kuò)展負(fù)載模型構(gòu)建方式對(duì)典型應(yīng)用場(chǎng)景進(jìn)行模擬從而評(píng)估Linux文件系統(tǒng)的真實(shí)工作性能。本發(fā)明提出的方法在保證正確性的前提下有效提高了測(cè)試覆蓋率。
文檔編號(hào)G06F11/36GK102750221SQ20121017193
公開日2012年10月24日 申請(qǐng)日期2012年5月29日 優(yōu)先權(quán)日2012年5月29日
發(fā)明者蘭雨晴, 顏佩瓊 申請(qǐng)人:蘭雨晴