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

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