專利名稱:存儲服務(wù)器性能綜合測試系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于服務(wù)器系統(tǒng)測試領(lǐng)域,為存儲服務(wù)器提供了一種標(biāo)準(zhǔn)的性能綜合測試系統(tǒng)。
背景技術(shù):
互聯(lián)網(wǎng)的廣泛應(yīng)用使數(shù)據(jù)成為維系千百萬企業(yè)和機(jī)構(gòu)正常運(yùn)行的生命線,怎樣對這些數(shù)據(jù)提供最可靠的保護(hù)以及確保它們的暢通已經(jīng)成為影響企業(yè)競爭力的最關(guān)鍵的因素。選擇恰當(dāng)?shù)姆?wù)器系統(tǒng)以及相應(yīng)的內(nèi)外存儲技術(shù)和設(shè)備又是實(shí)現(xiàn)數(shù)據(jù)暢通和保護(hù)的主要途徑。如何有效的對存儲服務(wù)器綜合性能進(jìn)行測試已經(jīng)成為人們研究的熱點(diǎn)問題。
業(yè)界評測存儲局域網(wǎng)SAN(Storage Area Network)性能的基準(zhǔn)測試程序是SPC-1,它主要測評SAN的事務(wù)處理能力,測試指標(biāo)是每秒種輸入輸出數(shù)(IOPS),該基準(zhǔn)測試程序?qū)儆诖鎯ζ餍阅芪瘑T會(Storage PerformanceCouncil)所有。SPC-1測試工具包軟件采用Java語言編寫,可運(yùn)行在Solaris、AIX和Windows NT/Windows 2000操作系統(tǒng)上,運(yùn)行SPC-1測試軟件需要Java環(huán)境支持。評測存儲服務(wù)器的主要環(huán)節(jié)均由一系列的Java操作構(gòu)成,優(yōu)點(diǎn)是可以很方便的跨平臺操作,但缺點(diǎn)是在每臺設(shè)備上運(yùn)行一個個的Java命令會加大評測的復(fù)雜度。在SPC-1銷售方面,對于非會員客戶,企業(yè)License售價為10000美元,站點(diǎn)License售價為2500美元;對于會員客戶,企業(yè)License售價為4000美元,站點(diǎn)License售價為1000美元;對于學(xué)術(shù)機(jī)構(gòu),站點(diǎn)License售價為500美元;這些銷售價格相比較目前國內(nèi)的生產(chǎn)和生活水平而言,相對過高。因此,我們認(rèn)為SPC-1存在評測過程復(fù)雜、評測費(fèi)用高的問題。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種能克服上述缺陷的存儲服務(wù)器性能綜合測試系統(tǒng),該系統(tǒng)具有簡單、高效和評測成本低的特點(diǎn)。
本發(fā)明提供的一種存儲服務(wù)器性能綜合測試系統(tǒng),其特征在于該系統(tǒng)包括設(shè)置在客戶機(jī)上的測試管理模塊和負(fù)載產(chǎn)生模塊;其中測試管理模塊負(fù)責(zé)設(shè)置測試參數(shù),向負(fù)載產(chǎn)生模塊發(fā)送測試命令,收集負(fù)載產(chǎn)生模塊的測試結(jié)果數(shù)據(jù),并將測試結(jié)果數(shù)據(jù)統(tǒng)計整理后輸出,控制測試全過程;負(fù)載產(chǎn)生模塊用于創(chuàng)建I/O訪問流量,在測試管理模塊控制下,傳送I/O請求報文到存儲服務(wù)器,并接收存儲服務(wù)器返回的響應(yīng)信息;上述測試管理模塊包括用戶界面模塊、配置信息模塊、定時器模塊、負(fù)載管理模塊和進(jìn)程通信模塊;其中,用戶界面模塊用于人機(jī)接口的交互,獲取部分配置信息并傳送給配置信息模塊;配置信息模塊用于接收從用戶界面模塊和配置文件傳送過來的配置信息,并將全部配置信息傳送給負(fù)載管理模塊;負(fù)載管理模塊產(chǎn)生配置命令、測試命令,并且處理測試結(jié)果數(shù)據(jù);定時器模塊負(fù)責(zé)調(diào)度負(fù)載管理模塊的配置命令和測試命令,控制測試的全過程,并將配置和測試命令傳送給進(jìn)程通信模塊;進(jìn)程通信模塊負(fù)責(zé)將配置命令和測試命令發(fā)送給負(fù)載產(chǎn)生模塊,并從負(fù)載產(chǎn)生模塊收取測試結(jié)果數(shù)據(jù),完成測試管理模塊與負(fù)載產(chǎn)生模塊之間的進(jìn)程通信;此外,負(fù)載管理模塊接收進(jìn)程通信模塊從負(fù)載產(chǎn)生模塊收取的測試結(jié)果數(shù)據(jù),并將這些數(shù)據(jù)處理后生成輸出文件;上述負(fù)載產(chǎn)生模塊包括測試對象管理模塊、DISK測試模塊、多線程模塊和第一、第二TCP模塊、;第一TCP模塊接收來自測試管理模塊的配置命令和測試命令,并發(fā)送給測試對象管理模塊,測試對象管理模塊負(fù)責(zé)配置測試參數(shù),增加或減少測試對象,并將所有配置命令和測試命令發(fā)往多線程模塊;DISK測試模塊負(fù)責(zé)產(chǎn)生測試流、測試請求命令,接收響應(yīng)信息和記錄測試結(jié)果,并將信息傳送給多線程模塊和第二TCP模塊;多線程模塊負(fù)責(zé)產(chǎn)生、管理和維護(hù)多個DISK測試線程,并發(fā)送DISK測試模塊的測試結(jié)果數(shù)據(jù)給測試對象管理模塊,測試對象管理模塊將這些數(shù)據(jù)統(tǒng)計整理后通過第一TCP模塊發(fā)送至測試管理模塊;第二TCP模塊向存儲服務(wù)器發(fā)送I/O讀或者寫請求報文,并從存儲服務(wù)器接收請求報文相應(yīng)的響應(yīng)報文。
上述DISK測試模塊包括I/O流產(chǎn)生器子模塊、I/O命令產(chǎn)生器子模塊、I/O命令完成子模塊和統(tǒng)計信息搜集子模塊;I/O流產(chǎn)生器子模塊按照用戶訪問存儲服務(wù)器用戶存儲單元的統(tǒng)計特性,產(chǎn)生訪問存儲服務(wù)器的一系列I/O流;I/O命令產(chǎn)生器子模塊根據(jù)I/O流產(chǎn)生器子模塊產(chǎn)生的I/O流定義,向存儲服務(wù)器發(fā)出讀/寫請求;I/O命令完成子模塊負(fù)責(zé)收取由存儲服務(wù)器返回的響應(yīng)信息;統(tǒng)計信息搜集子模塊負(fù)責(zé)從I/O命令完成子模塊中搜集和整理響應(yīng)信息的時間,以及讀/寫請求的文件大小。
本發(fā)明采用客戶機(jī)/服務(wù)器體系結(jié)構(gòu),在高速寬帶局域網(wǎng)中,使用多臺客戶機(jī)模擬多個用戶,遵循用戶訪問存儲服務(wù)器的統(tǒng)計特性,在規(guī)定的測試時間內(nèi)訪問存儲服務(wù)器,測試存儲服務(wù)器在各種負(fù)載條件下(100%、95%、90%、80%、50%、10%)體現(xiàn)出來的性能,測試指標(biāo)包括IOPS和LRT,IOPS表示每秒種輸入輸出數(shù),LRT即最小I/O請求響應(yīng)時間,LRT通常為負(fù)載為10%條件下的平均響應(yīng)時間。本系統(tǒng)采用了Linux下的多線程技術(shù)、進(jìn)程間通信技術(shù)和網(wǎng)絡(luò)編程技術(shù),評測過程簡單,操作方便,系統(tǒng)資源消耗少,評測費(fèi)用低。具體而言,本發(fā)明具有以下優(yōu)點(diǎn)及效果(1)測試原理規(guī)范測試原理來源于實(shí)際,采用用戶訪問存儲服務(wù)器的統(tǒng)計特性,具備良好的科學(xué)基礎(chǔ),非常規(guī)范。
存儲服務(wù)器性能綜合測試系統(tǒng)采用了最新的用戶訪問存儲服務(wù)器的統(tǒng)計特性,本系統(tǒng)軟件模塊運(yùn)行在多個客戶機(jī)上,基于客戶機(jī)/服務(wù)器體系結(jié)構(gòu),在高速寬帶局域網(wǎng)內(nèi),按照用戶訪問存儲服務(wù)器的統(tǒng)計特性,模擬典型的商業(yè)應(yīng)用訪問存儲服務(wù)器,例如OLTP、數(shù)據(jù)庫、電子郵件等應(yīng)用,測試存儲服務(wù)器在各種負(fù)載條件下體現(xiàn)出來的綜合性能。
(2)評測操作控制精簡存儲服務(wù)器性能綜合測試系統(tǒng)采用C/C++作為開發(fā)語言,無須客戶機(jī)支持Java,降低了對客戶機(jī)的系統(tǒng)要求和設(shè)置難度;本系統(tǒng)還采用了基于TCP/IP的集中控制技術(shù),利用測試管理模塊全程控制評測過程的各個環(huán)節(jié),無須逐個分步操作每臺測試設(shè)備,極大地降低了評測過程的復(fù)雜度;本系統(tǒng)提供了圖形化的配置界面,方便了人機(jī)交互。
(3)評測費(fèi)用低廉存儲服務(wù)器性能綜合測試系統(tǒng)費(fèi)用低廉,運(yùn)行本系統(tǒng)軟件模塊的客戶機(jī)可由多臺運(yùn)行Linux的PC機(jī)組成,無須專業(yè)的工作站,這樣就大大降低了評測成本。
圖1為本發(fā)明測試系統(tǒng)的結(jié)構(gòu)示意圖;圖2為測試管理模塊和負(fù)載產(chǎn)生模塊的結(jié)構(gòu)示意圖;圖3為DISK測試模塊的子模塊示意圖;具體實(shí)施方式
存儲服務(wù)系統(tǒng)包括客戶機(jī)、存儲服務(wù)器和交換機(jī),本發(fā)明用于對其中的存儲服務(wù)器進(jìn)行測試,整個測試構(gòu)筑在高速寬帶局域網(wǎng)中。從工作原理的角度,可以將測試系統(tǒng)分為兩大部分,即測試管理模塊(BenchmarkManager)和負(fù)載產(chǎn)生模塊(Load Generator)。這兩個模塊均設(shè)置在客戶機(jī)上,由于受到單臺PC機(jī)硬件性能的限制,這兩個模塊最好是分開安裝到不同的客戶機(jī)上。根據(jù)測試負(fù)載的需要,負(fù)載產(chǎn)生模塊可以設(shè)置1到多個,并分別安裝到不同的客戶機(jī)上。
測試系統(tǒng)的結(jié)構(gòu)如圖1所示,測試管理模塊1主要用于向負(fù)載產(chǎn)生模塊2發(fā)送測試命令,并控制測試全過程。在測試管理模塊1控制下,負(fù)載產(chǎn)生模塊2發(fā)送I/O請求報文到存儲服務(wù)器4,并接收存儲服務(wù)器返回的響應(yīng)信息。當(dāng)測試系統(tǒng)包括多個負(fù)載產(chǎn)生模塊時,各模塊的功能及工作過程與上述模塊2相同。
下面分別對各模塊作進(jìn)一步詳細(xì)的說明。
測試管理模塊1負(fù)責(zé)設(shè)置測試參數(shù),包括應(yīng)用存儲單元ASU-1、ASU-2和ASU-3的邏輯卷;啟動和停止測試;收集負(fù)載產(chǎn)生模塊的測試結(jié)果數(shù)據(jù),并將測試結(jié)果數(shù)據(jù)統(tǒng)計整理后以純文本形式輸出。如圖2所示,測試管理模塊1包括配置信息模塊4、定時器模塊5、用戶界面模塊6、負(fù)載管理模塊7和進(jìn)程通信模塊8。用戶界面模塊6用作人機(jī)接口,錄入部分配置信息并傳送給配置信息模塊,從用戶界面獲取的配置信息主要有負(fù)載產(chǎn)生模塊子線程數(shù)。配置信息模塊4用于接收用戶界面模塊錄入的部分配置信息,以及直接從配置文件獲得的配置信息,并將全部配置信息傳送給負(fù)載管理模塊7,從配置文件獲取的測試配置參數(shù)有應(yīng)用存儲單元ASU-1、ASU-2和ASU-3的邏輯卷,即路徑和名字。負(fù)載管理模塊7包括配置命令和測試命令,完成測試數(shù)據(jù)的處理,其中配置命令中包含上述所有的配置信息。定時器模塊6負(fù)責(zé)定時調(diào)用負(fù)載管理模塊7的配置命令和測試命令,控制存儲服務(wù)器綜合性能測試的全過程,它將配置命令和測試命令集傳送給進(jìn)程通信模塊8。進(jìn)程通信模塊8負(fù)責(zé)將配置命令和測試命令發(fā)送給負(fù)載產(chǎn)生模塊2,并收取每個負(fù)載產(chǎn)生模塊發(fā)來的測試結(jié)果數(shù)據(jù),完成測試管理模塊1與負(fù)載產(chǎn)生模塊2之間的進(jìn)程通信。這樣可以確保配置命令和測試命令傳送暢通,測試結(jié)果統(tǒng)計準(zhǔn)確。此外,負(fù)載管理模塊7通過進(jìn)程通信模塊8,接收所有測試結(jié)果數(shù)據(jù),并將這些數(shù)據(jù)分類統(tǒng)計、綜合計算,最后生成數(shù)據(jù)表格式的TXT文件。
負(fù)載產(chǎn)生模塊2用于創(chuàng)建I/O訪問流量,即通過Samba協(xié)議向存儲服務(wù)器發(fā)送I/O請求,同時收取存儲服務(wù)器的I/O響應(yīng)信息,并記錄響應(yīng)信息達(dá)到的時間和文件傳輸大小。如圖2所示,負(fù)載產(chǎn)生模塊2包括測試對象管理模塊9、DISK測試模塊10、多線程模塊11、第一TCP模塊12和第二TCP模塊13。
測試對象管理模塊9通過第一TCP模塊12接收來自測試管理模塊1的配置命令,配置命令攜帶了所有與測試相關(guān)的配置信息,它們是應(yīng)用存儲單元ASU-1、ASU-2和ASU-3的邏輯卷和DISK測試線程數(shù);另外,測試對象管理模塊9通過第一TCP模塊12也接收測試管理模塊的測試命令。即第一TCP模塊12發(fā)送配置命令和測試命令給測試對象管理模塊9。后者將所有配置命令和測試命令發(fā)往多線程模塊11,并接收多線程模塊11發(fā)送的各個DISK測試模塊的測試結(jié)果數(shù)據(jù),將這些數(shù)據(jù)統(tǒng)計整理后通過第一TCP模塊12發(fā)送至測試管理模塊1。
DISK測試模塊10包括I/O流產(chǎn)生器子模塊14、I/O命令產(chǎn)生器子模塊15、I/O命令完成子模塊16和統(tǒng)計信息搜集子模塊17,如圖3所示。I/O流產(chǎn)生器子模塊14按照用戶訪問存儲服務(wù)器用戶存儲單元ASU-1、ASU-2、ASU-3的統(tǒng)計特性,產(chǎn)生訪問存儲服務(wù)器的一系列I/O流,每個流即為I/O操作的完整定義,包括讀/寫操作,讀/寫文件的大小,以及待訪問的用戶存儲單元;I/O命令產(chǎn)生器子模塊15根據(jù)I/O流產(chǎn)生器子模塊14產(chǎn)生的I/O流定義,向存儲服務(wù)器發(fā)出讀/寫請求;I/O命令完成子模塊16負(fù)責(zé)收取讀/寫請求發(fā)出之后存儲服務(wù)器返回的響應(yīng)信息;統(tǒng)計信息搜集子模塊17負(fù)責(zé)搜集和整理響應(yīng)信息的時間,以及讀/寫請求的文件大小。需要說明的是,I/O流產(chǎn)生器子模塊14根據(jù)用戶訪問存儲服務(wù)器用戶存儲單元的統(tǒng)計特性,調(diào)用相應(yīng)的統(tǒng)計函數(shù),產(chǎn)生訪問存儲服務(wù)器的一系列I/O流。
多線程模塊11從測試對象管理模塊9接收配置命令和測試命令,并提取一個重要的配置信息DISK測試線程數(shù),從而產(chǎn)生多個線程,每個線程對應(yīng)為不同的DISK測試模塊,多線程模塊11負(fù)責(zé)與這些DISK測試模塊通信發(fā)送配置命令,即用存儲單元ASU-1、ASU-2和ASU-3的邏輯卷;發(fā)送測試命令;收取每個DISK測試模塊的測試結(jié)果數(shù)據(jù)。即DISK測試模塊10向多線程模塊11發(fā)送配置命令測試命令,多線程模塊11向DISK測試模塊10發(fā)送測試結(jié)果數(shù)據(jù)。另外,多線程模塊11搜集所有DISK測試模塊的測試結(jié)果數(shù)據(jù)并發(fā)往測試對象管理模塊9。
第一TCP模塊12完成負(fù)載產(chǎn)生模塊2和測試管理模塊1之間的進(jìn)程通信,它負(fù)責(zé)從測試管理模塊1收取配置命令和測試命令,并發(fā)送測試結(jié)果數(shù)據(jù)。第二TCP模塊13向存儲服務(wù)器發(fā)送I/O讀或者寫請求報文,并從存儲服務(wù)器接收請求報文相應(yīng)的響應(yīng)報文。
本發(fā)明為了系統(tǒng)實(shí)現(xiàn)上的方便,將測試管理模塊和負(fù)載產(chǎn)生模塊放入兩臺客戶機(jī)上實(shí)現(xiàn),注意,需要在負(fù)載產(chǎn)生模塊程序啟動時,向特定測試管理模塊的IP地址和中指定是否運(yùn)行實(shí)例存儲服務(wù)器性能綜合測試系統(tǒng)的配置及運(yùn)行過程如下(1)建立存儲服務(wù)器。所有客戶機(jī)和服務(wù)器之間通過1000M交換機(jī)互聯(lián)為一個局域網(wǎng),為了保證測試結(jié)果的正確性,該局域網(wǎng)與其他用途的網(wǎng)絡(luò)和設(shè)備隔離,避免額外網(wǎng)絡(luò)流量影響測試結(jié)果。在測試前,按照測試規(guī)模,在安裝存儲服務(wù)器時設(shè)置好用戶存儲單元ASU-1、ASU-2和ASU-3,并將配置這些ASU用Samba協(xié)議共享局域網(wǎng)內(nèi)用戶訪問。應(yīng)用存儲單元ASU是一個介于數(shù)據(jù)倉庫和基于主機(jī)的應(yīng)用程序間的邏輯接口,這些基于主機(jī)的應(yīng)用程序完成基準(zhǔn)測試,且在此過程中完成持續(xù)穩(wěn)定地存儲讀寫操作。本測試定義了三種不同的ASU數(shù)據(jù)存儲單元ASU-1,用戶存儲單元ASU-2,日志存儲單元ASU-3。數(shù)據(jù)存儲單元保存應(yīng)用系統(tǒng)的原始輸入數(shù)據(jù),它占ASU總?cè)萘康?5%;用戶存儲單元保存應(yīng)用系統(tǒng)處理過的信息,它占ASU總?cè)萘康?5%;日志存儲單元包含應(yīng)用系統(tǒng)為保護(hù)數(shù)據(jù)存儲單元和用戶存儲單元中數(shù)據(jù)信息的完整性而生成的文件;它占ASU總?cè)萘康?0%。
(2)在運(yùn)行負(fù)載產(chǎn)生器的客戶機(jī)上,用裝載命令smbmount將存儲服務(wù)器上共享的ASU安裝在本地目錄上。所有客戶機(jī)對三種用戶存儲單元ASU-1、ASU-2和ASU-3的安裝點(diǎn)相同。
(3)運(yùn)行Benchmark Manager。必須在所有的Load Generator客戶端運(yùn)行前,啟動Benchmark Manager。在Benchmark Manager的圖形窗口式的配置界面中,輸入需要配置的各項(xiàng)參數(shù)和指定的配置文件名。
(4)運(yùn)行Load Generator,運(yùn)行時指定測試控制模塊所在客戶端的以太網(wǎng)卡IP地址。每個運(yùn)行Load Generator的客戶端配有一張千兆以太網(wǎng)卡。Load Generator會根據(jù)指定Benchmark Manager的IP地址,向BenchmarkManager注冊,并等待Benchmark Manager的配置命令和測試命令。在測試結(jié)束時,向Benchmark Manager發(fā)送測試結(jié)果數(shù)據(jù)。
(5)Benchmark Manager收到所有Load Generator發(fā)送來的測試結(jié)果數(shù)據(jù)后,其負(fù)載管理模塊歸納統(tǒng)計這些測試結(jié)果數(shù)據(jù),以數(shù)據(jù)表形式輸出測試結(jié)果文本文件。
權(quán)利要求
1.一種存儲服務(wù)器性能綜合測試系統(tǒng),其特征在于該系統(tǒng)包括設(shè)置在客戶機(jī)上的測試管理模塊(1)和負(fù)載產(chǎn)生模塊(2);其中測試管理模塊(1)負(fù)責(zé)設(shè)置測試參數(shù),向負(fù)載產(chǎn)生模塊(2)發(fā)送測試命令,收集負(fù)載產(chǎn)生模塊(2)的測試結(jié)果數(shù)據(jù),并將測試結(jié)果數(shù)據(jù)統(tǒng)計整理后輸出,控制測試全過程;負(fù)載產(chǎn)生模塊(2)用于創(chuàng)建I/O訪問流量,在測試管理模塊(1)控制下,傳送I/O請求報文到存儲服務(wù)器,并接收存儲服務(wù)器返回的響應(yīng)信息;上述測試管理模塊包括用戶界面模塊(6)、配置信息模塊(4)、定時器模塊(5)、負(fù)載管理模塊(7)和進(jìn)程通信模塊(8);其中,用戶界面模塊(6)用于人機(jī)接口的交互,獲取部分配置信息并傳送給配置信息模塊(4);配置信息模塊(4)用于接收從用戶界面模塊(6)和配置文件傳送過來的配置信息,并將全部配置信息傳送給負(fù)載管理模塊(2);負(fù)載管理模塊(7)產(chǎn)生配置命令、測試命令,并且處理測試結(jié)果數(shù)據(jù);定時器模塊(5)負(fù)責(zé)調(diào)度負(fù)載管理模塊(7)的配置命令和測試命令,控制測試的全過程,并將配置和測試命令傳送給進(jìn)程通信模塊(8);進(jìn)程通信模塊(8)負(fù)責(zé)將配置命令和測試命令發(fā)送給負(fù)載產(chǎn)生模塊(2),并從負(fù)載產(chǎn)生模塊(2)收取測試結(jié)果數(shù)據(jù),完成測試管理模塊(1)與負(fù)載產(chǎn)生模塊(2)之間的進(jìn)程通信;此外,負(fù)載管理模塊(7)接收進(jìn)程通信模塊(8)從負(fù)載產(chǎn)生模塊(2)收取的測試結(jié)果數(shù)據(jù),并將這些數(shù)據(jù)處理后生成輸出文件;上述負(fù)載產(chǎn)生模塊(2)包括測試對象管理模塊(9)、DISK測試模塊(10)、多線程模塊(11)和第一、第二TCP模塊(12、13);第一TCP模塊(12)接收來自測試管理模塊(1)的配置命令和測試命令,并發(fā)送給測試對象管理模塊(9),測試對象管理模塊(9)負(fù)責(zé)配置測試參數(shù),增加或減少測試對象,并將所有配置命令和測試命令發(fā)往多線程模塊(11);DISK測試模塊(10)負(fù)責(zé)產(chǎn)生測試流、測試請求命令,接收響應(yīng)信息和記錄測試結(jié)果,并將信息傳送給多線程模塊(11)和第二TCP模塊(13);多線程模塊(11)負(fù)責(zé)產(chǎn)生、管理和維護(hù)多個DISK測試線程,并發(fā)送DISK測試模塊(10)的測試結(jié)果數(shù)據(jù)給測試對象管理模塊(9),測試對象管理模塊(9)將這些數(shù)據(jù)統(tǒng)計整理后通過第一TCP模塊(12)發(fā)送至測試管理模塊(1);第二TCP模塊(13)向存儲服務(wù)器發(fā)送I/O讀或者寫請求報文,并從存儲服務(wù)器接收請求報文相應(yīng)的響應(yīng)報文。
2.根據(jù)權(quán)利要求1所述的測試系統(tǒng),其特征在于DISK測試模塊(10)包括I/O流產(chǎn)生器子模塊(14)、I/O命令產(chǎn)生器子模塊(15)、I/O命令完成子模塊(16)和統(tǒng)計信息搜集子模塊(17);I/O流產(chǎn)生器子模塊(14)按照用戶訪問存儲服務(wù)器用戶存儲單元的統(tǒng)計特性,產(chǎn)生訪問存儲服務(wù)器的一系列I/O流;I/O命令產(chǎn)生器子模塊(15)根據(jù)I/O流產(chǎn)生器子模塊(14)產(chǎn)生的I/O流定義,向存儲服務(wù)器發(fā)出讀/寫請求;I/O命令完成子模塊(16)負(fù)責(zé)收取由存儲服務(wù)器返回的響應(yīng)信息;統(tǒng)計信息搜集子模塊(17)負(fù)責(zé)從I/O命令完成子模塊(16)中搜集和整理響應(yīng)信息的時間,以及讀/寫請求的文件大小。
全文摘要
本發(fā)明公開了一種存儲服務(wù)器性能綜合測試系統(tǒng),包括設(shè)置在客戶機(jī)上的測試管理模塊和負(fù)載產(chǎn)生模塊,前者負(fù)責(zé)設(shè)置測試參數(shù),向負(fù)載產(chǎn)生模塊發(fā)送測試命令,收集負(fù)載產(chǎn)生模塊的測試結(jié)果數(shù)據(jù),并將測試結(jié)果數(shù)據(jù)統(tǒng)計整理后輸出,控制測試全過程;后者用于創(chuàng)建I/O訪問流量,在測試管理模塊控制下,傳送I/O請求報文到存儲服務(wù)器,并接收存儲服務(wù)器返回的響應(yīng)信息。本發(fā)明在高速寬帶局域網(wǎng)中,使用多臺客戶機(jī)模擬多個用戶,遵循用戶訪問存儲服務(wù)器的統(tǒng)計特性,在規(guī)定的測試時間內(nèi)訪問存儲服務(wù)器,測試其在各種負(fù)載條件下體現(xiàn)出來的性能。本發(fā)明測試原理科學(xué),采用了Linux下的多線程技術(shù)、進(jìn)程間通信技術(shù)和網(wǎng)絡(luò)編程技術(shù),具有評測過程簡單,評測費(fèi)用低等優(yōu)點(diǎn)。
文檔編號H04L12/26GK1588892SQ20041006087
公開日2005年3月2日 申請日期2004年9月17日 優(yōu)先權(quán)日2004年9月17日
發(fā)明者金海 , 謝夏, 李勝利, 盧鵬, 戴志華, 黃瑾, 張琴, 趙俊 申請人:華中科技大學(xué)