如何對Web服務(wù)器做壓力測試
公司的Web服務(wù)器搭建完成,上線在即。它能夠承載多大的訪問量,響應(yīng)速度和容錯能力等性能指標(biāo)是否滿足要求,所有這些都是我最想知道,也最為擔(dān)心的。如何才能知曉這一切呢?
通過工具可以有效地測試Web服務(wù)器的運行狀態(tài)和響應(yīng)時間等性能指標(biāo),從而解決上述問題。下面以Web Application Stress Tool(簡稱WAST)為例,介紹如何進(jìn)行Web壓力測試。這是由微軟的網(wǎng)站測試人員開發(fā)的專門用來進(jìn)行實際網(wǎng)站壓力測試的一套工具。
測試工具的設(shè)置
下載并安裝WAST,過程極其簡單。在對目標(biāo)Web服務(wù)器進(jìn)行壓力測試之前,首先要對它進(jìn)行一些必要的設(shè)置。
1.設(shè)置并行連接數(shù)
點擊“Defaults→Settings”打開設(shè)置面板。在Concurrent Connections下進(jìn)行并行連接設(shè)置。Stress Level(Threads)是最少線程,Stress Multiplier是最大線程。這里的線程是指定程序在后臺用多少線程進(jìn)行請求,也就是相當(dāng)于模擬多少個客戶機的連接,一般填寫500~1000。這個線程數(shù)是根據(jù)本機的承受力來設(shè)置的,如果你對自己的機器配置有足夠信心的話,那么可以設(shè)置得更高一些。
2.設(shè)置持續(xù)時間
在“Test Run Time”中用來指定一次壓力測試需要持續(xù)的時間,分為天、小時、分、秒幾個單位級別,比如我們設(shè)置為1個小時。
3.其余設(shè)置
用Rpquest Delay設(shè)置延遲時間,我們設(shè)置為100~500。用Suspend設(shè)置設(shè)定掛起時間,Warmup時間是初始化測試運行時間,Cooldown時間是指定結(jié)束階段的測試時間。Bandwith指定帶寬瓶頸,允許模擬從14.4 kbps的Modem連接到T1(1.5 Mbps)的Local Area Network(LAN)連接的網(wǎng)絡(luò)帶寬。Redirects設(shè)置重定向時間,Throughput用來設(shè)置用戶、密碼頁面狀態(tài)保存等是否啟用,Name Resolution用來設(shè)置是否進(jìn)行名稱解析。所有以上的選項大家可以根據(jù)自己的需要進(jìn)行設(shè)置。
壓力測試的步驟
設(shè)置完成后就可以進(jìn)行壓力測試。測試的步驟如下:
第一步,點擊工具欄上的“New Script”按鈕,在打開的面板中點擊“Nanual”按鈕創(chuàng)建一個新的測試項目。在打開的窗口中對它進(jìn)行設(shè)置,在主選項中的Server中填寫要測試的服務(wù)器的IP地址。這里我們填寫192.168.1.20。在下方選擇測試的Web連接方式,這里的方式Verb選擇get。Path選擇要測試的Web頁面路徑,這里填寫/Index.asp即動網(wǎng)的首頁文件,WAST可以設(shè)置更多的Path。
第二步,在“Settings”功能設(shè)置中將Stress Level (Threads)線程數(shù)設(shè)置為1000。然后點工具中的灰色三角按鈕即可進(jìn)行測試。測試過程中我們可以從服務(wù)器的任務(wù)管理器中看到CPU使用率已經(jīng)達(dá)到100%,損耗率達(dá)到最大。在CMD窗口中使用命令netstat -an,可以看到客戶端的IP地址在服務(wù)器上的80端口進(jìn)行了非常多的連接,而且Web網(wǎng)站已經(jīng)打不開了,提示過多用戶連接。
通過壓力測試,管理員對Web服務(wù)器的抗壓能力有了大概了解,可根據(jù)實際需要進(jìn)行服務(wù)器硬件擴展,也為系統(tǒng)設(shè)置和軟件選擇等提供依據(jù)。Web服務(wù)器在正式發(fā)布前進(jìn)行壓力測試是非常必要的。
評論