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