來源:中國IT實(shí)驗(yàn)室
前 言
對于直接面對互聯(lián)網(wǎng)用戶的WEB應(yīng)用,在開發(fā)設(shè)計(jì)的時(shí)候必須格外小心,因 為誰也不知道在單位時(shí)間內(nèi)WEB程序訪問和運(yùn)行的速度。所以,在程序設(shè)計(jì)完成以后,最后針對程序進(jìn)行一些嚴(yán)格的甚至是苛刻的測試,以確定程序在復(fù)雜的網(wǎng)絡(luò) 環(huán)境和服務(wù)器高壓負(fù)荷下是否可以保持正常和相對穩(wěn)定的效率。
什么是負(fù)壓測試
負(fù)壓測試一般針對WEB應(yīng)用進(jìn)行,比如網(wǎng)站等。進(jìn)行負(fù)壓測試的目的是為了確定WEB應(yīng)用在現(xiàn)實(shí)的網(wǎng)絡(luò)環(huán)境中是否可以正確而安全的處理各種用戶提交的不確定請求,檢驗(yàn)程序的健壯性。
負(fù)壓測試的另外一個(gè)目的在于故意提供足夠多的請求,觀察程序在這種情況下的反應(yīng)能力。
為什么要負(fù)壓測試
可能大家現(xiàn)在都已經(jīng)很熟悉一個(gè)很著名的搜索引擎Google,我們知道,這個(gè)搜索引擎不但搜索結(jié)果準(zhǔn)確,而且,搜索速度更是奇快無比。搜索結(jié)果準(zhǔn)確,那 是程序算法在一個(gè)方面的表現(xiàn),搜索速度快,則關(guān)系到整個(gè)系統(tǒng)的構(gòu)件和程序的健壯行。如果希望自己編寫的程序也可以在大訪問量的情況下“從容不迫”,就有必 要對程序進(jìn)行負(fù)壓測試。
對于訪問量較大的網(wǎng)站或者程序,特別是提供一些比較熱門話題程序,最好在正式將網(wǎng)站或者程序公布以前進(jìn)行比較完備的負(fù)壓測試,并且根據(jù)測試即使優(yōu)化程序或者合理配置服務(wù)器硬件,這樣網(wǎng)站不至于在用戶量急劇增加的情況下出丑甚至崩潰。
使用ACT進(jìn)行測試
ACT簡介
ACT(或者M(jìn)SACT)是微軟的Visual Studio 和Visual Studio.NET帶的一套進(jìn)行程序測試的工具,也正是我們的負(fù)壓測試需要用到的。ACT不但可以記錄程序運(yùn)行的詳細(xì)數(shù)據(jù)參數(shù),用圖表顯示程序運(yùn)行狀 況,而且安裝和使用都比較簡單,結(jié)果閱讀也很方便,是一套較理想的測試工具。
安裝ACT
最起碼,當(dāng)然我們需要Visual Studio,ACT似乎還沒有單獨(dú)的版本出現(xiàn)。在這里,我們測試一個(gè)WEB Service的在高負(fù)荷情況下的運(yùn)行性能。首先,在Visual Studio中打開ACT(如圖)
程序會(huì)提示是否建立一個(gè)新的工程,點(diǎn)擊“是”,然后輸入一個(gè)文字說明,出現(xiàn)以下界面(圖二):
打開ACT以后,我們可以開始測試了。
建立一個(gè)新的測試
點(diǎn)擊菜單【Action】->【New Test】(如圖三)
會(huì)出現(xiàn)一個(gè)向?qū)Ы缑妫▓D四)
向?qū)覀兲煜ち耍屑?xì)閱讀每個(gè)界面的說明文字, 選擇就可以了。
編輯測試
經(jīng)過以上的設(shè)置,會(huì)出現(xiàn)以下界面(圖五):
很明顯,以上界面我們?nèi)藶榈膶⑺譃榱巳齻€(gè)部分,而且每個(gè)部分顏色各不相同。以上不同顏色的三個(gè)部分分別為:
左邊藍(lán)色部分:導(dǎo)航欄,測試入口和結(jié)果人口;
右上綠色:提示信息欄;
右下紅色:VBS代碼欄,在這里編輯測試需要的一些VBS代碼,測試成功有效與否,全部依靠這些代碼的執(zhí)行情況。所以,這些代碼最好仔細(xì)考慮并且多次測試;
在進(jìn)行測試之前,首先設(shè)置測試的一些選項(xiàng)(菜單【Action】—>【Properties】)如圖六
在以上界面,主要設(shè)置兩個(gè)參數(shù):
(1) Test duration設(shè)置,這里設(shè)置測試進(jìn)行時(shí)間,默認(rèn)為5分鐘;
(2) 在Counters標(biāo)簽頁設(shè)置一些測試性能數(shù)據(jù);
以上設(shè)置完成以后,就可以開始修改VBS代碼了,我們沒必要遍歷整個(gè)VBS代碼,只看一些主要的:
Test.SendRequest("http://localhost/")
以上是默認(rèn)代碼,我們可以修改為以下代碼:
Test.SendRequest("http://localhost/philipq/wsmessages/wsmsg.asmx/MPost?webKey=w2k&UName=Ad&UPassword=pwd&UTo=Admin&UMessage=ACT+Test")
以上代碼的編寫應(yīng)該根據(jù)自身程序的特點(diǎn)來修改,以達(dá)到最好測試效果。
執(zhí)行測試
點(diǎn)擊工具欄的【Start】按鈕開始測試如圖):
測試進(jìn)行的時(shí)候,會(huì)出現(xiàn)以下窗口提示(如圖):
以上界面顯示程序測試的時(shí)間、剩余時(shí)間、每秒提交的Request數(shù)量、提交的Request總量、錯(cuò)誤數(shù)量等。點(diǎn)擊按鈕【Show details】可以查看詳細(xì)數(shù)據(jù)。
測試結(jié)束以后,就可以查看測試的結(jié)果了。
閱讀測試結(jié)果
測試完成以后,可以在圖二左邊的Result分支點(diǎn)擊查看測試結(jié)果,在右方的報(bào)表欄我們可以查看到以下數(shù)據(jù):OverView、Graphs、Requests等,下圖是一個(gè)OverView的數(shù)據(jù)舉例:
從以上報(bào)告可以看到,測試的程序每秒提交request23次,總共1400次。
測試結(jié)果的使用
根據(jù)測試的結(jié)果,我們可以知道程序運(yùn)行的情況、在高負(fù)荷下服務(wù)器的承受能力。根據(jù)這些數(shù)據(jù),我們來確定程序的性能和服務(wù)器的性能,以此來預(yù)測在程序正式使用以后可能遇到的情況和服務(wù)器需要的改進(jìn)。
其他選擇
上面介紹的ACT雖然很不錯(cuò),但是,畢竟不是每一個(gè)用戶都使用Visual Studio,這時(shí)候,我們可以考慮其他工具來進(jìn)行測試。
Microsoft Web Application Stress Tool (WAS)
這個(gè)工具和ACT一樣是微軟的產(chǎn)品,但是,這個(gè)工具沒有和Visual Studio集成,可以單獨(dú)使用。感覺這個(gè)程序現(xiàn)在還在測試,但是一些基本的功能已經(jīng)很完備,可以完成ACT幾乎所有功能,而且,WAS使用更加簡單,設(shè) 置也更加完備明了。這個(gè)工具的另外一個(gè)特點(diǎn)是,它的報(bào)表是純文本文件,而不是流行的HTML文件格式,但是,內(nèi)容方面一點(diǎn)也不遜色。
關(guān)于這個(gè)工具的更多信息,可以在這里查閱:
http://homer.rte.microsoft.com/
Open System Testing Architecture (OpenSTA)
OpenSTA的特點(diǎn)是可以模擬很多用戶來訪問需要測試的網(wǎng)站,它是一個(gè)功能強(qiáng)大、自定義設(shè)置功能完備的軟件,但是,這些設(shè)置大部分需要通過 Script來完成,因此,在真正的使用這個(gè)軟件之前,必須學(xué)習(xí)好它的Script編寫。如果需要完成很復(fù)雜的功能,Script的要求還比較高,當(dāng)然, 這也是它的優(yōu)點(diǎn),一些程序員不會(huì)在意這些Script的。
這個(gè)軟件完全免費(fèi)而且源代碼可以下載,感興趣的朋友可以自己修改達(dá)到要求。
關(guān)于這個(gè)工具的更多信息,可以在這里查閱:
http://www.opensta.org/
http://opensta.sourceforge.net/
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
