手把手教你Web服務(wù)器壓力測(cè)試
Web服務(wù)器搭建完成上線在即,其能夠承載多大的訪問量,響應(yīng)速度、容錯(cuò)能力等性能指標(biāo),所有這些是管理人員最想知道也最為擔(dān)心的。如何才能知曉這一切呢?通過工具進(jìn)行Web壓力測(cè)試是個(gè)好方法。通過它可以有效地測(cè)試Web服務(wù)器的運(yùn)行狀態(tài)和響應(yīng)時(shí)間等性能指標(biāo)。
一、測(cè)試環(huán)境:
hardsoft:CPU:Athlon XP2500+、內(nèi)存512MB、硬盤80GB
Server OS:Windows Server 2003
IIS: 6.0
BBS: 動(dòng)網(wǎng) 7.0
IP: 192.1681.20
Tool:Web Application Stress Tool
二、工具介紹
可用來進(jìn)行Web壓力測(cè)試的工具有很多,比如微軟的Web Application Stress、Linux下的siege、功能全面的Web-CT等等,這些都是非常優(yōu)秀的Web壓力測(cè)試工具。雖然這些工具給我們測(cè)試服務(wù)器承受能力帶來方便,但是它們卻是“雙刃劍”,攻擊者利用隨便一種比較全面的測(cè)試工具就可以對(duì)一臺(tái)小型的Web服務(wù)器發(fā)動(dòng)災(zāi)難性的拒絕式攻擊。
下面筆者就以微軟的Web Application Stress Tool(簡(jiǎn)稱WAST)為例進(jìn)行一次Web壓力測(cè)試。這是由微軟的網(wǎng)站測(cè)試人員開發(fā)的專門用來進(jìn)行實(shí)際網(wǎng)站壓力測(cè)試以一套工具。透過這套功能強(qiáng)大的壓力測(cè)試工具,管理人員可以在網(wǎng)站實(shí)際上線之前先網(wǎng)站進(jìn)行如同真實(shí)環(huán)境下的測(cè)試,以找出系統(tǒng)潛在的問題,對(duì)系統(tǒng)進(jìn)行進(jìn)一步的調(diào)整、設(shè)置工作。
三、工具設(shè)置
下載并安裝WAST,過程及其簡(jiǎn)單。然后運(yùn)行WAST可以看到其界面非常簡(jiǎn)潔,在對(duì)目標(biāo)Web服務(wù)器進(jìn)行壓力測(cè)試之前,首先要對(duì)它進(jìn)行一些必要的設(shè)置。
1、設(shè)置并行連接數(shù)
點(diǎn)擊左側(cè)的“Defaults→Settings”打開設(shè)置面板。在Concurrent Connections下進(jìn)行并行連接設(shè)置。Stress level (threads)是最少線程,Stress multiplier是最大線程。這里的線程是指定程序在后臺(tái)用多少線程進(jìn)行請(qǐng)求,也就是相當(dāng)于模擬多少個(gè)客戶機(jī)的連接,一般填寫 500~1000,因?yàn)檫@個(gè)線程數(shù)是根據(jù)本機(jī)的承受力來設(shè)置的,如果你對(duì)自己的機(jī)器配置有足夠信心的話,那么可以設(shè)置得更高一些。
2、設(shè)置持續(xù)時(shí)間
在“Test Run Time”中用來指定一次壓力測(cè)試需要持續(xù)的時(shí)間,分為天、小時(shí)、分、秒幾個(gè)單位級(jí)別。
3、其余設(shè)置
“Rpquest Delay”設(shè)置延遲時(shí)間,我們?cè)O(shè)置為100~500。
“Suspend”設(shè)置設(shè)定掛起時(shí)間。
Warmup時(shí)間是初始化測(cè)試運(yùn)行時(shí)間。
cooldown時(shí)間就是指定結(jié)束階段的測(cè)試時(shí)間。
Bandwith”指定帶寬瓶頸,允許你模擬從14.4 Kbps的modem連接到T1 (1.5 Mbps)的Local Area Network (LAN)連接的網(wǎng)絡(luò)帶寬。
Redirects設(shè)置重定向時(shí)間。
“Throughput”設(shè)置用戶、密碼頁面狀態(tài)保存等是否啟用
“Name resolution”設(shè)置是否進(jìn)行名稱解析。
所有以上的選項(xiàng)大家可以根據(jù)自己的需要進(jìn)行設(shè)置。
四、壓力測(cè)試
設(shè)置完成后就可以進(jìn)行壓力測(cè)試,測(cè)試的步驟如下:
第一步:點(diǎn)擊工具欄上的“new script”按鈕在打開的面板中點(diǎn)擊“Nanual”按鈕創(chuàng)建一個(gè)新的測(cè)試項(xiàng)目。在打開的窗口中對(duì)它進(jìn)行設(shè)置,在主選項(xiàng)中的server中填寫要測(cè)試的服務(wù)器的IP地址,這里我們填寫192.168.1.20,在下方選擇測(cè)試的Web連接方式,這里的方式Verb選擇get,path選擇要測(cè)試的Web頁面路徑,這里填寫/Index.asp即動(dòng)網(wǎng)的首頁文件,WAST可以設(shè)置更多的Path。
第二步:在“Settings”的功能設(shè)置中將Stress level (threads)線程數(shù)設(shè)置為1000。完畢后,點(diǎn)工具中的灰色三角按鈕即可進(jìn)行測(cè)試。測(cè)試過程中我們可以從服務(wù)器的任務(wù)管理器中看到CPU使用率已經(jīng) 達(dá)到100%,損耗率達(dá)到最大。在CMD窗口中使用命令netstat -an,可以看到客戶端的IP地址在服務(wù)器上的80端口進(jìn)行了非常多的連接見圖6,而且Web網(wǎng)站已經(jīng)打不開了,提示過多用戶連接。
總結(jié):通過Web壓力測(cè)試,管理員對(duì)Web服務(wù)器的抗壓能力有了大概的把握,從而根據(jù)實(shí)際需要可以進(jìn)行服務(wù)器硬件擴(kuò)展,同時(shí)也為系統(tǒng)設(shè)置、軟件選擇等提供了依據(jù)??偫▉碚f,在Web服務(wù)器正式發(fā)布前進(jìn)行壓力測(cè)試是非常必要的。
【編輯推薦】