專利名稱:測試系統(tǒng)和方法
測試系統(tǒng)和方法技術(shù)領(lǐng)域
本申請公開的內(nèi)容涉及一種測試系統(tǒng)和測試方法 背景技術(shù)
現(xiàn)有技術(shù)中,廠商提到的設(shè)備最大I0PS(每秒讀寫次數(shù))通常是采用不公布被測 設(shè)備的具體配置細(xì)節(jié)的“黑盒”測試方法測得的。具體而言,在被測設(shè)備上生成一個(gè)與被測 設(shè)備的Cache大小相差不大的測試文件,生成的測試文件不能保證能夠遍歷所有邏輯存儲 單元(LUN)。由于生成的測試文件只分布于部分LUN之上,當(dāng)進(jìn)行讀IO測試時(shí),經(jīng)過首次讀 IO操作后,該文件被裝入Cache,以后的讀寫均在Cache中完成,因此得到結(jié)果均為Cache 的IOPS ;當(dāng)進(jìn)行寫IO測試時(shí),被測設(shè)備也將數(shù)據(jù)直接寫至Cache中,并返回寫成功操作指 示,然后被測設(shè)備根據(jù)各自算法在CPU空閑時(shí)進(jìn)行寫磁盤操作;這樣,測試過程中并不能得 到真正的磁盤寫IO處理性能,也得不到各被測設(shè)備寫Cache算法中從Cache到磁盤的實(shí)際 寫時(shí)間。發(fā)明內(nèi)容
本申請將提供一種能夠遍歷所有磁盤進(jìn)行IO讀寫性能的測試系統(tǒng)和測試方法。
根據(jù)本申請一方面的測試系統(tǒng)可包括被測模塊,劃分為多個(gè)邏輯存儲單元;至 少一個(gè)壓力機(jī),其每一個(gè)用于對至少一個(gè)所述邏輯存儲單元的IO性能進(jìn)行測試;以及控制 模塊,用于為每個(gè)邏輯存儲單元設(shè)置測試模型;其中,所述控制模塊控制所述多個(gè)壓力機(jī)中 的至少一個(gè)根據(jù)所述測試模型對每個(gè)邏輯存儲單元的IO性能進(jìn)行測試。
根據(jù)本申請另一方面的測試方法可包括將被測模塊劃分為多個(gè)LUN ;為所述多 個(gè)LUN中的每一個(gè)設(shè)置測試模型;為所述多個(gè)LUN中的每一個(gè)綁定至少一個(gè)測試進(jìn)程;以 及基于所述測試模型,利用所述綁定的至少一個(gè)測試進(jìn)程對所述多個(gè)LUN中的每一個(gè)進(jìn)行 IO性能測試。
根據(jù)上述的測試系統(tǒng)和方法,可提供比傳統(tǒng)測試工具更為詳細(xì)的測試結(jié)果,包括 磁盤讀I0PS、Cache寫I0PS、Cache寫磁盤I0PS、吞吐帶寬等。
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的測試系統(tǒng)的方框圖2為圖1中示出的壓力機(jī)的具體結(jié)構(gòu)方框圖3示例性地示出了被測模塊的LUN與壓力機(jī)之間的關(guān)系;
圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的測試方法的流程圖5示出了壓力機(jī)進(jìn)行I/O壓力加載的模型圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式讀測試的流程圖;以及
圖7示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式讀測試的流程圖。
具體實(shí)施方式
如圖1所示,根據(jù)本發(fā)明一個(gè)實(shí)施方式的測試系統(tǒng)1000包括控制模塊10、多個(gè)壓 力機(jī)20-1,20-2. · · 20-n、被測模塊30和連接模塊40。
控制模塊10用于分別為被測模塊30設(shè)置IO壓力模型,并控制壓力機(jī)20-1、 20-2. . . 20-n根據(jù)設(shè)置的IO壓力模型生成不同數(shù)目的測試進(jìn)程(worker),以對被測模塊30 進(jìn)行IO讀/寫測試。被測模塊30可以是任意的存儲設(shè)備或系統(tǒng),并被劃分為多個(gè)邏輯存儲 單元(LUN)。在一個(gè)實(shí)施方式中,被測模塊30被劃分為以73G或146G為單位的多個(gè)LUN。
控制模塊10設(shè)置的IO壓力模型可包括IO塊大小、IO讀寫比例、IO順序隨機(jī)比 例等參數(shù)??筛鶕?jù)不同應(yīng)用的IO讀寫特點(diǎn),確定不同的I/O壓力模型,例如,用于OLTP和 OLAP的壓力模型的具體模型參數(shù)可分別如表1和表2所示
權(quán)利要求
1.一種測試系統(tǒng),包括被測模塊,劃分為多個(gè)邏輯存儲單元;至少一個(gè)壓力機(jī),其每一個(gè)用于對至少一個(gè)所述邏輯存儲單元的IO性能進(jìn)行測試;以及控制模塊,用于為每個(gè)邏輯存儲單元設(shè)置測試模型;其中,所述控制模塊控制所述多個(gè)壓力機(jī)中的至少一個(gè)根據(jù)所述測試模型對每個(gè)邏輯 存儲單元的IO性能進(jìn)行測試。
2.如權(quán)利要求1所述的系統(tǒng),其中,每個(gè)所述壓力機(jī)包括測試模塊,用于控制所述測試模塊根據(jù)所述被測模塊的邏輯存儲單元個(gè)數(shù)生成一個(gè)或 多個(gè)測試進(jìn)程,每個(gè)所述測試進(jìn)程與所述多個(gè)邏輯存儲單元中的至少一個(gè)綁定。
3.如權(quán)利要求2所述的系統(tǒng),其中,每個(gè)所述壓力機(jī)還包括測試文件生成模塊,用于為每一個(gè)綁定的邏輯存儲單元生成一個(gè)測試文件; 其中,所述測試文件大小為整個(gè)邏輯存儲單元的容量,以及每個(gè)所述測試進(jìn)程通過對 所述測試文件進(jìn)行讀操作,測試所述綁定的邏輯存儲單元的讀性能。
4.如權(quán)利要求3所述的系統(tǒng),其中,所述測試模塊被配置為通過所述測試進(jìn)程測試所 述綁定的邏輯存儲單元的寫性能。
5.如權(quán)利要求4所述的系統(tǒng),其中,每個(gè)所述壓力機(jī)還包括驗(yàn)證模塊,用于通過預(yù)置文件驗(yàn)證每個(gè)所述測試進(jìn)程對所述讀性能和寫性能的測試結(jié) 果;以及統(tǒng)計(jì)模塊,根據(jù)所述驗(yàn)證模塊驗(yàn)證的結(jié)果分別計(jì)算讀IO錯(cuò)誤率和寫IO錯(cuò)誤率。
6.一種測試方法,包括將被測模塊劃分為多個(gè)邏輯存儲單元; 為所述多個(gè)邏輯存儲單元中的每一個(gè)設(shè)置測試模型; 為所述多個(gè)邏輯存儲單元中的每一個(gè)綁定至少一個(gè)測試進(jìn)程;以及 基于所述測試模型,利用所述綁定的至少一個(gè)測試進(jìn)程對所述多個(gè)邏輯存儲單元中的 每一個(gè)進(jìn)行IO性能測試。
7.如權(quán)利要求6所述的方法,其中,利用所述綁定的至少一個(gè)測試進(jìn)程對所述多個(gè)邏 輯存儲單元中的每一個(gè)進(jìn)行IO性能測試的步驟還包括在所述多個(gè)邏輯存儲單元中的每一個(gè)上生成一個(gè)測試文件;以及 通過讀取所述測試文件計(jì)算每個(gè)所述邏輯存儲單元的讀性能。
8.如權(quán)利要求7所述的方法,其中,利用所述綁定的至少一個(gè)測試進(jìn)程對所述多個(gè)邏 輯存儲單元中的每一個(gè)進(jìn)行IO性能測試的步驟還包括記錄所述至少一個(gè)測試進(jìn)程中的每一個(gè)將測試內(nèi)容寫入所述被測設(shè)備的Cache的第 一測試時(shí)間;讀取所述多個(gè)LUN中的每一個(gè)的扇區(qū)的內(nèi)容,以確認(rèn)所述測試內(nèi)容是否真正已寫入相 應(yīng)的扇區(qū);如果確認(rèn)已經(jīng)將測試內(nèi)容寫入相應(yīng)的扇區(qū),則記錄第二測試時(shí)間; 根據(jù)所述第一測試時(shí)間計(jì)算寫Cache性能參數(shù);以及 根據(jù)所述第一測試時(shí)間和第二測試時(shí)間計(jì)算Cache寫磁盤的性能參數(shù)。
9.如權(quán)利要求8所述的方法,其中,利用所述綁定的至少一個(gè)測試進(jìn)程對所述多個(gè)邏 輯存儲單元中的每一個(gè)進(jìn)行IO性能測試的步驟還包括驗(yàn)證每個(gè)所述測試進(jìn)程對所述讀性能和寫性能的測試結(jié)果;以及 根據(jù)驗(yàn)證的結(jié)果分別計(jì)算讀IO錯(cuò)誤率和寫IO錯(cuò)誤率。
10.如權(quán)利要求8所述的方法,其中,所述寫Cache性能參數(shù)包括寫Cache操作的響應(yīng) 時(shí)間、寫Cache操作的IOPS和寫Cache操作的吞吐帶寬;以及其中,所述Cache寫磁盤的性能參數(shù)包括所述Cache寫磁盤的響應(yīng)時(shí)間、Cache寫磁盤 的IOPS和Cache寫磁盤的吞吐帶寬。
全文摘要
公開了一種測試系統(tǒng)和方法。所述測試系統(tǒng)可包括被測模塊,劃分為多個(gè)邏輯存儲單元;至少一個(gè)壓力機(jī),其每一個(gè)用于對至少一個(gè)所述邏輯存儲單元的IO性能進(jìn)行測試;以及控制模塊,用于為每個(gè)邏輯存儲單元設(shè)置測試模型;其中,所述控制模塊控制所述多個(gè)壓力機(jī)中的至少一個(gè)根據(jù)所述測試模型對每個(gè)邏輯存儲單元的IO性能進(jìn)行測試。
文檔編號G06F11/22GK102033796SQ20091017711
公開日2011年4月27日 申請日期2009年9月25日 優(yōu)先權(quán)日2009年9月25日
發(fā)明者唐本亭, 張峰, 程衛(wèi)東, 贠文輝, 趙丹懷, 趙立君, 高峰, 魯江華 申請人:中國移動通信集團(tuán)公司