專利名稱:基于tpc-w基準(zhǔn)的網(wǎng)站服務(wù)器性能測(cè)試系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于服務(wù)器性能測(cè)試領(lǐng)域,為網(wǎng)站服務(wù)器提供了一種標(biāo)準(zhǔn)的綜合性能測(cè)試方法。
背景技術(shù):
網(wǎng)站服務(wù)器的性能不僅和網(wǎng)站服務(wù)器軟件本身有關(guān),還和服務(wù)器硬件設(shè)計(jì)水平和服務(wù)器操作系統(tǒng)有很大的關(guān)系。因此網(wǎng)站服務(wù)器性能測(cè)試是一項(xiàng)綜合性能的測(cè)試。目前比較流行的網(wǎng)站服務(wù)器測(cè)試工具有很多,如SpecWeb99和WebStone,它們的測(cè)試特征各有側(cè)重,測(cè)試方法也有所不同。WebStone測(cè)試在給定文件集的條件下,每分鐘能獲取的頁(yè)面數(shù)目。SpecWeb99評(píng)測(cè)網(wǎng)站服務(wù)器最多能夠支持的“順暢連接”數(shù),它將工作負(fù)載中的請(qǐng)求分為五類靜態(tài)GET、標(biāo)準(zhǔn)動(dòng)態(tài)GET、標(biāo)準(zhǔn)動(dòng)態(tài)GET(CGI)、Customized動(dòng)態(tài)GET和動(dòng)態(tài)POST,測(cè)試時(shí)根據(jù)用戶訪問網(wǎng)站服務(wù)器的統(tǒng)計(jì)特性按一定比例發(fā)送請(qǐng)求。它的優(yōu)點(diǎn)是對(duì)用戶負(fù)載進(jìn)行了一定程度的模擬,缺點(diǎn)是負(fù)載模擬不夠精確,因?yàn)樗L問的不是真正的網(wǎng)頁(yè),被測(cè)對(duì)象不是真實(shí)的網(wǎng)站,而且它也不支持?jǐn)?shù)據(jù)庫(kù)的操作。除此之外,這些統(tǒng)計(jì)特性,在當(dāng)時(shí)來說具有一定的通用特性。但隨著時(shí)間的流逝,網(wǎng)站技術(shù)的飛速發(fā)展,該統(tǒng)計(jì)特性已無法科學(xué)地體現(xiàn)每個(gè)網(wǎng)站服務(wù)器的性能特征。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種能克服上述缺陷的基于TPC-W基準(zhǔn)的網(wǎng)站服務(wù)器性能測(cè)試系統(tǒng),該測(cè)試系統(tǒng)具有安裝簡(jiǎn)單、數(shù)據(jù)庫(kù)規(guī)模可伸縮、接近現(xiàn)實(shí)世界、參數(shù)配置和結(jié)果顯示界面人性化、適用范圍廣、評(píng)測(cè)費(fèi)用低等優(yōu)點(diǎn)。
本發(fā)明提供的一種基于TPC-W基準(zhǔn)的網(wǎng)站服務(wù)器性能測(cè)試系統(tǒng),一種基于TPC-W基準(zhǔn)的網(wǎng)站服務(wù)器性能測(cè)試系統(tǒng),其特征在于該測(cè)試系統(tǒng)包括三大部分被測(cè)服務(wù)器、支付網(wǎng)關(guān)模擬器和遠(yuǎn)程模擬瀏覽器;其中被測(cè)服務(wù)器用于提供測(cè)試的對(duì)象,它包括創(chuàng)建數(shù)據(jù)庫(kù)模塊、服務(wù)器數(shù)據(jù)庫(kù)、初始化數(shù)據(jù)庫(kù)模塊、服務(wù)器網(wǎng)頁(yè)和動(dòng)態(tài)鏈接庫(kù);創(chuàng)建數(shù)據(jù)庫(kù)模塊用于創(chuàng)建服務(wù)器數(shù)據(jù)庫(kù);初始化數(shù)據(jù)庫(kù)模塊用于向服務(wù)器數(shù)據(jù)庫(kù)寫入用于測(cè)試的初始數(shù)據(jù);網(wǎng)頁(yè)通過將鏈接參數(shù)傳給動(dòng)態(tài)鏈接庫(kù)實(shí)現(xiàn)網(wǎng)頁(yè)之間的跳轉(zhuǎn);動(dòng)態(tài)鏈接庫(kù)根據(jù)鏈接參數(shù)從網(wǎng)頁(yè)中讀出新的靜態(tài)網(wǎng)頁(yè)內(nèi)容,并從服務(wù)器數(shù)據(jù)庫(kù)中得到相應(yīng)的動(dòng)態(tài)內(nèi)容,組合成新的動(dòng)態(tài)網(wǎng)頁(yè);同時(shí),動(dòng)態(tài)鏈接庫(kù)完成到支付網(wǎng)關(guān)模擬器的交互認(rèn)證;支付網(wǎng)關(guān)模擬器用于在用戶進(jìn)行購(gòu)買確認(rèn)時(shí),輔助主體測(cè)試部分完成網(wǎng)上支付時(shí)銀行的認(rèn)證和劃撥,其功能是從被測(cè)服務(wù)器接收購(gòu)買號(hào)和銀行卡號(hào),產(chǎn)生認(rèn)證號(hào),將數(shù)據(jù)寫入數(shù)據(jù)庫(kù)進(jìn)行記錄,并傳回被測(cè)服務(wù)器;支付網(wǎng)關(guān)模擬器包括建立連接模塊、接收發(fā)送模塊、加密模塊、產(chǎn)生認(rèn)證號(hào)模塊、認(rèn)證數(shù)據(jù)庫(kù)和寫數(shù)據(jù)庫(kù)模塊;其中建立連接模塊用于在約定的端口偵聽,檢測(cè)到連接請(qǐng)求后,將信息交給接收發(fā)送模塊處理;接收發(fā)送模塊用于完成與被測(cè)服務(wù)器的加密認(rèn)證交互過程接收發(fā)送模塊將需要加密/解密的信息送給加密模塊,加密模塊返回加密/解密后的數(shù)據(jù);產(chǎn)生認(rèn)證號(hào)模塊用于產(chǎn)生認(rèn)證號(hào);寫數(shù)據(jù)庫(kù)模塊用于將認(rèn)證號(hào)寫入認(rèn)證數(shù)據(jù)庫(kù)進(jìn)行記錄;遠(yuǎn)程模擬瀏覽器用于模擬用戶行為從客戶端使用多線程發(fā)送大量的請(qǐng)求到被測(cè)服務(wù)器,按規(guī)定比例訪問網(wǎng)站的各個(gè)網(wǎng)頁(yè);在客戶端記錄指標(biāo)測(cè)量值,分析并實(shí)時(shí)顯示測(cè)試結(jié)果,得出系統(tǒng)的性能參數(shù);它包括負(fù)載產(chǎn)生模塊、計(jì)時(shí)器模塊、結(jié)果記錄模塊、結(jié)果數(shù)據(jù)庫(kù)和結(jié)果顯示模塊;其中負(fù)載產(chǎn)生模塊負(fù)責(zé)向被測(cè)服務(wù)器發(fā)送請(qǐng)求,并調(diào)用結(jié)果記錄模塊記錄指標(biāo)測(cè)量值;計(jì)時(shí)器模塊用于控制網(wǎng)站服務(wù)器綜合性能測(cè)試的全過程,控制負(fù)載產(chǎn)生模塊的啟動(dòng)/停止;負(fù)責(zé)每秒定時(shí)更新結(jié)果顯示模塊;在測(cè)試結(jié)束時(shí),殺死所有線程,調(diào)用寫數(shù)據(jù)庫(kù)模塊將測(cè)試結(jié)果集中寫入主客戶機(jī)的結(jié)果數(shù)據(jù)庫(kù),并以表格的形式顯示整體測(cè)試結(jié)果。
上述支付網(wǎng)關(guān)模擬器接收到被測(cè)服務(wù)器的請(qǐng)求后,加密模塊將用非對(duì)稱加密算法的私鑰加密后的對(duì)稱密鑰傳給被測(cè)服務(wù)器;被測(cè)服務(wù)器接收到對(duì)稱密鑰后,將購(gòu)買號(hào)和銀行卡號(hào)封裝成一6000字節(jié)長(zhǎng)的信息串,用對(duì)稱密鑰加密,發(fā)送給支付網(wǎng)關(guān)模擬器;支付網(wǎng)關(guān)模擬器接收到加密信息串后,先用對(duì)稱密鑰解密;再?gòu)男畔⒋蟹蛛x出購(gòu)買號(hào)和銀行卡號(hào),產(chǎn)生認(rèn)證號(hào)模塊產(chǎn)生一個(gè)位的隨機(jī)串作為認(rèn)證號(hào),寫數(shù)據(jù)庫(kù)模塊將數(shù)據(jù)寫入數(shù)據(jù)庫(kù)進(jìn)行記錄,并將認(rèn)證號(hào)嵌入信息串中,加密后傳回被測(cè)服務(wù)器;被測(cè)服務(wù)器接收到加密信息串后,解密得到認(rèn)證號(hào)。
本發(fā)明選取了衡量服務(wù)器性能的兩個(gè)參數(shù)每秒網(wǎng)頁(yè)操作的平均數(shù)(WIPS,Web Interaction Per Second)和服務(wù)器對(duì)用戶請(qǐng)求的平均響應(yīng)時(shí)間(WIRT,WebInteraction Response Time)作為主要測(cè)試指標(biāo)。本發(fā)明采用客戶機(jī)/服務(wù)器體系結(jié)構(gòu),在高速寬帶局域網(wǎng)中,使用多臺(tái)客戶機(jī)模擬真實(shí)情況下大量用戶訪問Web服務(wù)器行為的統(tǒng)計(jì)特性,測(cè)試服務(wù)器在不同負(fù)載下的性能。本發(fā)明具有以下優(yōu)點(diǎn)及效果1.測(cè)試原理規(guī)范測(cè)試原理來源于實(shí)際,采用最新的用戶訪問網(wǎng)站服務(wù)器的統(tǒng)計(jì)特性,具備良好的科學(xué)基礎(chǔ),非常規(guī)范。
TPC-W服務(wù)器性能綜合測(cè)試系統(tǒng)遵循大量用戶訪問網(wǎng)站服務(wù)器真實(shí)行為的最新統(tǒng)計(jì)特性,采用線程內(nèi)按比例訪問技術(shù),在每個(gè)線程的內(nèi)部控制比例,宏觀上實(shí)現(xiàn)了在整個(gè)測(cè)試期間對(duì)網(wǎng)頁(yè)的按比例訪問,而微觀上每一次的訪問又具有隨機(jī)性,對(duì)用戶行為進(jìn)行了細(xì)粒度的模擬。它可測(cè)試網(wǎng)站服務(wù)器在三種測(cè)試模式下(WIPS、WIPSb、WIPSo)的綜合性能,克服了原有基準(zhǔn)測(cè)試標(biāo)準(zhǔn)過時(shí)、不夠科學(xué)的缺點(diǎn)。
2.接近現(xiàn)實(shí)世界本發(fā)明采用了Windows下的多線程技術(shù)、事件同步技術(shù)、加密技術(shù)和網(wǎng)絡(luò)編程技術(shù)。測(cè)試系統(tǒng)中有一系列可控參數(shù)測(cè)試時(shí)間、數(shù)據(jù)庫(kù)的尺寸、客戶機(jī)的數(shù)量、線程數(shù)和測(cè)試模式等等。例如,通過改變數(shù)據(jù)庫(kù)的尺寸可以調(diào)節(jié)數(shù)據(jù)庫(kù)操作在負(fù)載中所占的比重;改變客戶機(jī)的數(shù)量和線程數(shù)可改變總的負(fù)載大??;改變測(cè)試模式可以調(diào)節(jié)每個(gè)網(wǎng)頁(yè)的訪問比例。因此,整個(gè)測(cè)試系統(tǒng)可以通過改變參數(shù)的輸入值來測(cè)量服務(wù)器的在不同負(fù)載下的性能,對(duì)比發(fā)現(xiàn)服務(wù)器性能中的瓶頸。
3.安裝簡(jiǎn)單、界面人性化該測(cè)試系統(tǒng)能自動(dòng)安裝并進(jìn)行配置導(dǎo)航,有詳盡的幫助文檔指導(dǎo)用戶使用和排除故障。安裝時(shí)用戶可按照功能選擇服務(wù)器端安裝、支付網(wǎng)關(guān)模擬器安裝、客戶端安裝和主客戶端安裝,方便簡(jiǎn)潔。測(cè)試時(shí)不需使用命令行,只需從界面輸入幾個(gè)必要的可控參數(shù)即可,使用簡(jiǎn)單,界面人性化。
4.適用范圍廣、評(píng)測(cè)費(fèi)用低TPC-W服務(wù)器性能綜合測(cè)試系統(tǒng)評(píng)測(cè)的對(duì)象可以是專用的網(wǎng)站服務(wù)器,也可以是運(yùn)行Windows的PC機(jī)或集群,適用范圍廣;客戶機(jī)可由多臺(tái)運(yùn)行Windows的PC機(jī)組成,大大降低了評(píng)測(cè)成本。
本發(fā)明利用了Windows下的多線程技術(shù)、事件同步技術(shù)、加密技術(shù)和網(wǎng)絡(luò)編程技術(shù),具有安裝簡(jiǎn)單、數(shù)據(jù)庫(kù)規(guī)模可伸縮、接近現(xiàn)實(shí)世界、參數(shù)配置和結(jié)果顯示界面人性化、適用范圍廣、評(píng)測(cè)費(fèi)用低等優(yōu)點(diǎn)。
圖1為本發(fā)明測(cè)試系統(tǒng)的結(jié)構(gòu)示意圖;圖2為遠(yuǎn)程模擬瀏覽器的工作流程圖。
具體實(shí)施例方式
根據(jù)事務(wù)處理性能委員會(huì)(TPC,Transaction Processing Corp.)制定的TPCW1.8標(biāo)準(zhǔn),我們?cè)O(shè)計(jì)和實(shí)現(xiàn)了基于TPC-W基準(zhǔn)的網(wǎng)站服務(wù)器性能測(cè)試系統(tǒng)。本發(fā)明基于超文本傳輸協(xié)議,采用客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。用戶進(jìn)行購(gòu)買確認(rèn)時(shí),網(wǎng)上支付過程中的銀行認(rèn)證和資金劃撥由支付網(wǎng)關(guān)模擬器來輔助完成。遠(yuǎn)程瀏覽模擬器采用線程內(nèi)按比例訪問技術(shù),可以充分利用客戶端機(jī)器的資源,根據(jù)大量用戶訪問網(wǎng)站服務(wù)器真實(shí)行為的統(tǒng)計(jì)特性,進(jìn)行細(xì)粒度的模擬,從而更好的對(duì)網(wǎng)站服務(wù)器的性能進(jìn)行綜合測(cè)試。
如圖1所示,從工作原理的角度可以將本測(cè)試系統(tǒng)分為三大部分被測(cè)服務(wù)器1、支付網(wǎng)關(guān)模擬器2和遠(yuǎn)程模擬瀏覽器3。下面分別對(duì)各部分作進(jìn)一步詳細(xì)的說明1.被測(cè)服務(wù)器被測(cè)服務(wù)器由動(dòng)態(tài)網(wǎng)頁(yè)、配套的專用數(shù)據(jù)庫(kù)、動(dòng)態(tài)鏈接庫(kù)以及創(chuàng)建數(shù)據(jù)庫(kù)模塊和初始化數(shù)據(jù)庫(kù)模塊組成。它自動(dòng)在網(wǎng)站服務(wù)器上建立一個(gè)模擬售書的電子商務(wù)網(wǎng)站,用戶可以實(shí)際的進(jìn)行產(chǎn)品瀏覽、購(gòu)買和電子支付等操作。它還支持?jǐn)?shù)據(jù)庫(kù)查詢、插入和更新操作,并可以通過改變數(shù)據(jù)庫(kù)的尺寸來改變負(fù)載。
在被測(cè)服務(wù)器上建立電子商務(wù)網(wǎng)站的目的是提供可供測(cè)試的對(duì)象。
如圖1所示,被測(cè)服務(wù)器1包括創(chuàng)建數(shù)據(jù)庫(kù)模塊7、初始化數(shù)據(jù)庫(kù)模塊8、14個(gè)服務(wù)器網(wǎng)頁(yè)9和動(dòng)態(tài)鏈接庫(kù)10。
創(chuàng)建數(shù)據(jù)庫(kù)模塊7用于創(chuàng)建服務(wù)器數(shù)據(jù)庫(kù)4。
初始化數(shù)據(jù)庫(kù)模塊8向服務(wù)器數(shù)據(jù)庫(kù)4寫入用于測(cè)試的初始數(shù)據(jù)。數(shù)據(jù)庫(kù)的大小可變,由數(shù)據(jù)庫(kù)中ITEM表的行數(shù)決定,用戶可以從下列幾個(gè)數(shù)字中選擇1000、10000、100000、1000000及10000000。數(shù)據(jù)庫(kù)中的數(shù)據(jù)嚴(yán)格滿足原子性、完整性、一致性和持久性。圖書作者表中的A_LNAME字段和圖書條目表中的I_TITLE字段是整個(gè)數(shù)據(jù)庫(kù)中最基本的兩個(gè)字段,由事務(wù)處理性能委員會(huì)提供的工具WGEN產(chǎn)生。其他字段的值要么按照規(guī)定隨機(jī)產(chǎn)生,要么根據(jù)這兩個(gè)基本字段經(jīng)過計(jì)算產(chǎn)生。宣傳圖片可利用事務(wù)處理性能委員會(huì)提供的工具last.exe生成。
網(wǎng)頁(yè)9通過將鏈接參數(shù)傳給動(dòng)態(tài)鏈接庫(kù)10實(shí)現(xiàn)網(wǎng)頁(yè)之間的跳轉(zhuǎn)。服務(wù)器網(wǎng)頁(yè)中的購(gòu)買請(qǐng)求頁(yè)、購(gòu)買確認(rèn)頁(yè)、購(gòu)買查詢請(qǐng)求頁(yè)和購(gòu)買查詢結(jié)果頁(yè)需要加密傳輸,而且購(gòu)買確認(rèn)頁(yè)需要到支付網(wǎng)關(guān)模擬器進(jìn)行認(rèn)證。
動(dòng)態(tài)鏈接庫(kù)10根據(jù)鏈接參數(shù)從網(wǎng)頁(yè)9中讀出新的靜態(tài)網(wǎng)頁(yè)內(nèi)容,并從服務(wù)器數(shù)據(jù)庫(kù)4中得到相應(yīng)的動(dòng)態(tài)內(nèi)容,組合成新的動(dòng)態(tài)網(wǎng)頁(yè);同時(shí),動(dòng)態(tài)鏈接庫(kù)10完成到支付網(wǎng)關(guān)模擬器2的交互認(rèn)證。動(dòng)態(tài)鏈接庫(kù)模塊是被測(cè)服務(wù)器的核心,網(wǎng)頁(yè)之間的鏈接跳轉(zhuǎn)、數(shù)據(jù)庫(kù)操作以及到支付網(wǎng)關(guān)模擬器認(rèn)證都通過動(dòng)態(tài)鏈接庫(kù)來實(shí)現(xiàn),動(dòng)態(tài)鏈接庫(kù)中對(duì)數(shù)據(jù)庫(kù)的操作都是調(diào)用存儲(chǔ)過程來完成的。
2.支付網(wǎng)關(guān)模擬器支付網(wǎng)關(guān)模擬器的作用是在用戶進(jìn)行購(gòu)買確認(rèn)時(shí),輔助主體測(cè)試部分完成網(wǎng)上支付時(shí)銀行的認(rèn)證和劃撥,其功能是從被測(cè)服務(wù)器接收購(gòu)買號(hào)和銀行卡號(hào),產(chǎn)生一個(gè)15位的隨機(jī)串作為認(rèn)證號(hào),將數(shù)據(jù)寫入數(shù)據(jù)庫(kù)進(jìn)行記錄,并傳回被測(cè)服務(wù)器。支付網(wǎng)關(guān)模擬器2包括建立連接模塊11、接收發(fā)送模塊12、加密模塊13、產(chǎn)生認(rèn)證號(hào)模塊14和寫數(shù)據(jù)庫(kù)模塊15。
如圖1所示,支付網(wǎng)關(guān)模擬器2輔助被測(cè)服務(wù)器1完成網(wǎng)上支付時(shí)銀行的認(rèn)證和劃撥。一旦支付網(wǎng)關(guān)模擬器2啟動(dòng),建立連接模塊11就在約定的端口偵聽,檢測(cè)到連接請(qǐng)求后,將信息交給接收發(fā)送模塊12處理。接收發(fā)送模塊12完成與被測(cè)服務(wù)器1的加密認(rèn)證交互過程接收發(fā)送模塊12將需要加密/解密的信息送給加密模塊13,加密模塊13返回加密/解密后的數(shù)據(jù);產(chǎn)生認(rèn)證號(hào)模塊14用于產(chǎn)生一個(gè)15位的隨機(jī)串作為認(rèn)證號(hào);寫數(shù)據(jù)庫(kù)模塊15將認(rèn)證號(hào)寫入認(rèn)證數(shù)據(jù)庫(kù)5進(jìn)行記錄。
為了保證網(wǎng)上支付的安全,確保用戶的銀行帳號(hào)不被竊取,支付網(wǎng)關(guān)模擬器和被測(cè)服務(wù)器之間認(rèn)證數(shù)據(jù)的傳輸都進(jìn)行加密。加密認(rèn)證的方法是支付網(wǎng)關(guān)模擬器接收到被測(cè)服務(wù)器的請(qǐng)求后,加密模塊將用非對(duì)稱加密算法的私鑰加密后的對(duì)稱密鑰傳給被測(cè)服務(wù)器;被測(cè)服務(wù)器接收到對(duì)稱密鑰后,將購(gòu)買號(hào)和銀行卡號(hào)封裝成一6000字節(jié)長(zhǎng)的信息串,用對(duì)稱密鑰加密,發(fā)送給支付網(wǎng)關(guān)模擬器;支付網(wǎng)關(guān)模擬器接收到加密信息串后,先用對(duì)稱密鑰解密;再?gòu)男畔⒋蟹蛛x出購(gòu)買號(hào)和銀行卡號(hào),產(chǎn)生認(rèn)證號(hào)模塊產(chǎn)生一個(gè)15位的隨機(jī)串作為認(rèn)證號(hào),寫數(shù)據(jù)庫(kù)模塊將數(shù)據(jù)寫入數(shù)據(jù)庫(kù)進(jìn)行記錄,并將認(rèn)證號(hào)嵌入信息串中,加密后傳回被測(cè)服務(wù)器;被測(cè)服務(wù)器接收到加密信息串后,解密得到認(rèn)證號(hào)。
3.遠(yuǎn)程模擬瀏覽器遠(yuǎn)程模擬瀏覽器模擬用戶行為從客戶端使用多線程發(fā)送大量的請(qǐng)求到被測(cè)服務(wù)器,按規(guī)定比例訪問網(wǎng)站的各個(gè)網(wǎng)頁(yè);在客戶端記錄指標(biāo)測(cè)量值,分析并實(shí)時(shí)顯示測(cè)試結(jié)果,從而得出系統(tǒng)的性能參數(shù)。
如圖1所示,遠(yuǎn)程模擬瀏覽器3主要包括負(fù)載產(chǎn)生模塊16、計(jì)時(shí)器模塊17、結(jié)果記錄模塊18和結(jié)果顯示模塊19。
負(fù)載產(chǎn)生模塊16負(fù)責(zé)向被測(cè)服務(wù)器1發(fā)送請(qǐng)求,并調(diào)用結(jié)果記錄模塊18記錄指標(biāo)測(cè)量值。負(fù)載產(chǎn)生模塊16可以最大限度地利用客戶端機(jī)器的中央處理器和內(nèi)存資源來增大服務(wù)器端的負(fù)載,根據(jù)用戶選擇的測(cè)試模式,從客戶端向服務(wù)器發(fā)送請(qǐng)求。
計(jì)時(shí)器模塊17控制網(wǎng)站服務(wù)器綜合性能測(cè)試的全過程,控制負(fù)載產(chǎn)生模塊16的啟動(dòng)/停止;負(fù)責(zé)每秒定時(shí)更新結(jié)果顯示模塊19;在測(cè)試結(jié)束時(shí),殺死所有線程,調(diào)用寫數(shù)據(jù)庫(kù)模塊20將測(cè)試結(jié)果集中寫入主客戶機(jī)的結(jié)果數(shù)據(jù)庫(kù)6,并以表格的形式顯示整體測(cè)試結(jié)果。
負(fù)載產(chǎn)生模塊使用事件來同步線程。測(cè)試結(jié)束或用戶決定中途終止測(cè)試時(shí),主線程打開事件對(duì)象Kill,輔線程檢測(cè)到事件Kill為活動(dòng)狀態(tài)時(shí),自動(dòng)結(jié)束線程。整個(gè)測(cè)試過程可以循環(huán)進(jìn)行。如圖2所示,具體工作流程如下1)輸入網(wǎng)站地址、服務(wù)器總價(jià)格和測(cè)試模式,隨后顯示網(wǎng)站主頁(yè)。
2)從主菜單中選擇“Start”,彈出對(duì)話框輸入測(cè)試時(shí)間和線程數(shù)等測(cè)試配置參數(shù);創(chuàng)建相應(yīng)數(shù)目的訪問線程,并設(shè)置第二計(jì)時(shí)器。
3)為保證一次訪問的完整和內(nèi)存得到安全釋放,每個(gè)線程在循環(huán)開始時(shí),先檢測(cè)事件Kill是否為活動(dòng)狀態(tài);若是,則跳出循環(huán),安全釋放連接和會(huì)話緩沖區(qū)所占用的內(nèi)存,并自動(dòng)結(jié)束線程;否則轉(zhuǎn)4)。
4)多線程采用用戶界面線程,每一個(gè)線程實(shí)現(xiàn)對(duì)所有頁(yè)面的按比例循環(huán)訪問。在測(cè)試過程中對(duì)每個(gè)網(wǎng)頁(yè)分別記錄測(cè)試數(shù)據(jù)。為了提高客戶端對(duì)服務(wù)器的訪問速度,一個(gè)線程打開一個(gè)會(huì)話,一個(gè)會(huì)話對(duì)應(yīng)一個(gè)連接,而在一個(gè)連接中可進(jìn)行多次網(wǎng)頁(yè)訪問,直到測(cè)試時(shí)間消耗完才由3)來關(guān)閉連接和會(huì)話。
5)第二計(jì)時(shí)器判斷測(cè)試時(shí)間是否已消耗完;若是,則清除第二計(jì)時(shí)器,打開事件對(duì)象Kill,將測(cè)試結(jié)果集中寫入主客戶機(jī)數(shù)據(jù)庫(kù),并以表格的形式顯示出來。
6)當(dāng)用戶選擇主菜單的“View”時(shí),彈出對(duì)話框動(dòng)態(tài)實(shí)時(shí)顯示總的網(wǎng)頁(yè)操作次數(shù)和平均響應(yīng)時(shí)間等;第一計(jì)時(shí)器負(fù)責(zé)每秒定時(shí)更新結(jié)果顯示對(duì)話框;檢測(cè)測(cè)試時(shí)間是否已消耗完,若是,則清除第一計(jì)時(shí)器,關(guān)閉結(jié)果顯示對(duì)話框。
7)當(dāng)用戶選擇主菜單的“Kill”時(shí),清除第二計(jì)時(shí)器,打開事件對(duì)象Kill。
為保證測(cè)試結(jié)果的精確,在開始記錄測(cè)試數(shù)據(jù)之前要經(jīng)過一段預(yù)熱時(shí)間,通常為10分鐘,當(dāng)服務(wù)器的吞吐量和響應(yīng)時(shí)間趨于穩(wěn)定時(shí),才開始記錄數(shù)據(jù)。
實(shí)例基于TPC-W基準(zhǔn)的網(wǎng)站服務(wù)器測(cè)試系統(tǒng)配置及運(yùn)行過程如下1.安裝網(wǎng)站服務(wù)器節(jié)點(diǎn)。將構(gòu)成網(wǎng)站服務(wù)器的14個(gè)網(wǎng)頁(yè)和動(dòng)態(tài)鏈接庫(kù)拷貝到Internet服務(wù)管理器的主目錄下,配置Internet服務(wù)管理器;依次運(yùn)行*.sql文件建立服務(wù)器數(shù)據(jù)庫(kù),并初始化數(shù)據(jù)庫(kù);配置ODBC數(shù)據(jù)源。
2.建立被測(cè)服務(wù)器。按照步驟1安裝N個(gè)節(jié)點(diǎn)機(jī)并在負(fù)載平衡機(jī)上安裝LVS(Linux Virtual Server,Linux虛擬服務(wù)器)。所有客戶機(jī)和服務(wù)器之間通過交換機(jī)互聯(lián)為一個(gè)局域網(wǎng),負(fù)載平衡機(jī)需要安裝雙網(wǎng)卡。為了保證測(cè)試結(jié)果的科學(xué)性,避免額外網(wǎng)絡(luò)流量影響測(cè)試結(jié)果,該局域網(wǎng)與其他用途的網(wǎng)絡(luò)和設(shè)備隔離。在客戶端用網(wǎng)頁(yè)瀏覽器對(duì)服務(wù)器端的網(wǎng)頁(yè)進(jìn)行訪問,驗(yàn)證網(wǎng)頁(yè)之間的鏈接和數(shù)據(jù)庫(kù)訪問是否正常。
3.建立支付網(wǎng)關(guān)模擬器。依次運(yùn)行*_pge.sql文件建立認(rèn)證數(shù)據(jù)庫(kù),運(yùn)行支付網(wǎng)關(guān)模擬器程序。支付網(wǎng)關(guān)模擬器配有一張以太網(wǎng)卡,它可以運(yùn)行在一臺(tái)單獨(dú)的機(jī)器上,也可以運(yùn)行在任何一臺(tái)節(jié)點(diǎn)機(jī)或遠(yuǎn)程瀏覽模擬器機(jī)器上。
4.建立遠(yuǎn)程瀏覽模擬器。在主客戶機(jī)上建立結(jié)果數(shù)據(jù)庫(kù),將每個(gè)客戶機(jī)的ODBC數(shù)據(jù)源都配置為主客戶機(jī)數(shù)據(jù)庫(kù);將三個(gè)結(jié)果網(wǎng)頁(yè)拷貝到Internet服務(wù)管理器的主目錄下,配置Internet服務(wù)管理器。
5.運(yùn)行遠(yuǎn)程瀏覽模擬器。必須先啟動(dòng)其它的客戶機(jī)后,再啟動(dòng)主客戶機(jī)。在遠(yuǎn)程瀏覽模擬器的參數(shù)配置界面中,輸入線程數(shù)和測(cè)試時(shí)間,遠(yuǎn)程瀏覽模擬器創(chuàng)建相應(yīng)數(shù)目的線程數(shù),每一個(gè)線程實(shí)現(xiàn)對(duì)所有頁(yè)面的按比例循環(huán)訪問。測(cè)試過程中,用戶可從結(jié)果顯示界面看到剩余測(cè)試時(shí)間、總的網(wǎng)頁(yè)操作次數(shù)和兩個(gè)主要測(cè)試指標(biāo)的測(cè)量值每秒網(wǎng)頁(yè)操作的平均數(shù)和服務(wù)器對(duì)用戶請(qǐng)求的平均響應(yīng)時(shí)間。計(jì)時(shí)器負(fù)責(zé)每秒定時(shí)更新結(jié)果顯示界面。測(cè)試結(jié)束時(shí),將測(cè)試結(jié)果集中寫入主客戶機(jī)數(shù)據(jù)庫(kù),并通過結(jié)果網(wǎng)頁(yè)以表格的形式顯示出來。顯示的內(nèi)容有每秒網(wǎng)頁(yè)操作的平均數(shù)、性價(jià)比、平均響應(yīng)時(shí)間、每個(gè)網(wǎng)頁(yè)的操作次數(shù)和它在總的網(wǎng)頁(yè)操作次數(shù)中所占的比例等。
權(quán)利要求
1.一種基于TPC-W基準(zhǔn)的網(wǎng)站服務(wù)器性能測(cè)試系統(tǒng),其特征在于該測(cè)試系統(tǒng)包括三大部分被測(cè)服務(wù)器(1)、支付網(wǎng)關(guān)模擬器(2)和遠(yuǎn)程模擬瀏覽器(3);其中被測(cè)服務(wù)器(1)用于提供測(cè)試的對(duì)象,它包括創(chuàng)建數(shù)據(jù)庫(kù)模塊(7)、服務(wù)器數(shù)據(jù)庫(kù)(4)、初始化數(shù)據(jù)庫(kù)模塊(8)、服務(wù)器網(wǎng)頁(yè)(9)和動(dòng)態(tài)鏈接庫(kù)(10);創(chuàng)建數(shù)據(jù)庫(kù)模塊(7)用于創(chuàng)建服務(wù)器數(shù)據(jù)庫(kù)(4);初始化數(shù)據(jù)庫(kù)模塊(8)用于向服務(wù)器數(shù)據(jù)庫(kù)(4)寫入用于測(cè)試的初始數(shù)據(jù);網(wǎng)頁(yè)(9)通過將鏈接參數(shù)傳給動(dòng)態(tài)鏈接庫(kù)(10)實(shí)現(xiàn)網(wǎng)頁(yè)之間的跳轉(zhuǎn);動(dòng)態(tài)鏈接庫(kù)(10)根據(jù)鏈接參數(shù)從網(wǎng)頁(yè)(9)中讀出新的靜態(tài)網(wǎng)頁(yè)內(nèi)容,并從服務(wù)器數(shù)據(jù)庫(kù)(4)中得到相應(yīng)的動(dòng)態(tài)內(nèi)容,組合成新的動(dòng)態(tài)網(wǎng)頁(yè);同時(shí),動(dòng)態(tài)鏈接庫(kù)(10)完成到支付網(wǎng)關(guān)模擬器(2)的交互認(rèn)證;支付網(wǎng)關(guān)模擬器(2)用于在用戶進(jìn)行購(gòu)買確認(rèn)時(shí),輔助主體測(cè)試部分完成網(wǎng)上支付時(shí)銀行的認(rèn)證和劃撥,其功能是從被測(cè)服務(wù)器(1)接收購(gòu)買號(hào)和銀行卡號(hào),產(chǎn)生認(rèn)證號(hào),將數(shù)據(jù)寫入數(shù)據(jù)庫(kù)進(jìn)行記錄,并傳回被測(cè)服務(wù)器;支付網(wǎng)關(guān)模擬器(2)包括建立連接模塊(11)、接收發(fā)送模塊(12)、加密模塊(13)、產(chǎn)生認(rèn)證號(hào)模塊(14)、認(rèn)證數(shù)據(jù)庫(kù)(5)和寫數(shù)據(jù)庫(kù)模塊15;其中建立連接模塊(11)用于在約定的端口偵聽,檢測(cè)到連接請(qǐng)求后,將信息交給接收發(fā)送模塊(12)處理;接收發(fā)送模塊(12)用于完成與被測(cè)服務(wù)器(1)的加密認(rèn)證交互過程接收發(fā)送模塊(12)將需要加密/解密的信息送給加密模塊(13),加密模塊(13)返回加密/解密后的數(shù)據(jù);產(chǎn)生認(rèn)證號(hào)模塊(14)用于產(chǎn)生認(rèn)證號(hào);寫數(shù)據(jù)庫(kù)模塊(15)用于將認(rèn)證號(hào)寫入認(rèn)證數(shù)據(jù)庫(kù)(5)進(jìn)行記錄;遠(yuǎn)程模擬瀏覽器(3)用于模擬用戶行為從客戶端使用多線程發(fā)送大量的請(qǐng)求到被測(cè)服務(wù)器,按規(guī)定比例訪問網(wǎng)站的各個(gè)網(wǎng)頁(yè);在客戶端記錄指標(biāo)測(cè)量值,分析并實(shí)時(shí)顯示測(cè)試結(jié)果,得出系統(tǒng)的性能參數(shù);它包括負(fù)載產(chǎn)生模塊(16)、計(jì)時(shí)器模塊(17)、結(jié)果記錄模塊(18)、結(jié)果數(shù)據(jù)庫(kù)(6)和結(jié)果顯示模塊(19);其中負(fù)載產(chǎn)生模塊(16)負(fù)責(zé)向被測(cè)服務(wù)器(1)發(fā)送請(qǐng)求,并調(diào)用結(jié)果記錄模塊(18)記錄指標(biāo)測(cè)量值;計(jì)時(shí)器模塊(17)用于控制網(wǎng)站服務(wù)器綜合性能測(cè)試的全過程,控制負(fù)載產(chǎn)生模塊(16)的啟動(dòng)/停止;負(fù)責(zé)每秒定時(shí)更新結(jié)果顯示模塊(19);在測(cè)試結(jié)束時(shí),殺死所有線程,調(diào)用寫數(shù)據(jù)庫(kù)模塊(20)將測(cè)試結(jié)果集中寫入主客戶機(jī)的結(jié)果數(shù)據(jù)庫(kù)(6),并以表格的形式顯示整體測(cè)試結(jié)果。
2.根據(jù)權(quán)利要求1所述的測(cè)試系統(tǒng),其特征在于支付網(wǎng)關(guān)模擬器(2)接收到被測(cè)服務(wù)器(1)的請(qǐng)求后,加密模塊(3)將用非對(duì)稱加密算法的私鑰加密后的對(duì)稱密鑰傳給被測(cè)服務(wù)器(1);被測(cè)服務(wù)器(1)接收到對(duì)稱密鑰后,將購(gòu)買號(hào)和銀行卡號(hào)封裝成一6000字節(jié)長(zhǎng)的信息串,用對(duì)稱密鑰加密,發(fā)送給支付網(wǎng)關(guān)模擬器(2);支付網(wǎng)關(guān)模擬器接收到加密信息串后,先用對(duì)稱密鑰解密;再?gòu)男畔⒋蟹蛛x出購(gòu)買號(hào)和銀行卡號(hào),產(chǎn)生認(rèn)證號(hào)模塊(14)產(chǎn)生一個(gè)15位的隨機(jī)串作為認(rèn)證號(hào),寫數(shù)據(jù)庫(kù)模塊將數(shù)據(jù)寫入數(shù)據(jù)庫(kù)進(jìn)行記錄,并將認(rèn)證號(hào)嵌入信息串中,加密后傳回被測(cè)服務(wù)器;被測(cè)服務(wù)器(1)接收到加密信息串后,解密得到認(rèn)證號(hào)。
全文摘要
基于TPC-W基準(zhǔn)的網(wǎng)站服務(wù)器性能測(cè)試系統(tǒng),為網(wǎng)站服務(wù)器提供了一種標(biāo)準(zhǔn)的性能測(cè)試工具。本發(fā)明采用客戶機(jī)/服務(wù)器體系結(jié)構(gòu),在高速寬帶局域網(wǎng)中,使用多臺(tái)客戶機(jī)模擬多個(gè)遠(yuǎn)程瀏覽用戶,嚴(yán)格遵循用戶訪問網(wǎng)站服務(wù)器的統(tǒng)計(jì)特性,在規(guī)定的測(cè)試時(shí)間內(nèi)訪問網(wǎng)站服務(wù)器,測(cè)試網(wǎng)站服務(wù)器在三種測(cè)試模式下(WIPS、WIPSb、WIPSo)體現(xiàn)出來的性能,即每秒網(wǎng)頁(yè)操作的平均數(shù)和服務(wù)器對(duì)用戶請(qǐng)求的平均響應(yīng)時(shí)間。本發(fā)明采用了Windows下的多線程技術(shù)、事件同步技術(shù)、加密技術(shù)和網(wǎng)絡(luò)編程技術(shù),具有測(cè)試原理規(guī)范、接近現(xiàn)實(shí)世界、數(shù)據(jù)庫(kù)規(guī)模可伸縮、實(shí)現(xiàn)了加密傳輸、安裝簡(jiǎn)單、界面人性化、適用范圍廣、評(píng)測(cè)費(fèi)用低等優(yōu)點(diǎn)。
文檔編號(hào)H04L12/26GK1561036SQ20041001276
公開日2005年1月5日 申請(qǐng)日期2004年2月24日 優(yōu)先權(quán)日2004年2月24日
發(fā)明者金海 , 謝夏, 李勝利, 羅貞, 李運(yùn)發(fā), 盧鵬, 戴志華, 金 海 申請(qǐng)人:華中科技大學(xué)