Web 服務上線前,必須回答三個核心問題:最大併發承載?響應時間分布?錯誤率閾值?微軟免費工具 Web Application Stress Tool (WAST) 能在真實環境模擬高併發請求,幫你摸清服務器底細。本文以 Windows Server 2003 + IIS 6.0 + 動網論壇為例,完整演示從安裝到報告分析的全流程。
測試環境
- 硬體:Athlon XP 2500+ / 512MB RAM / 80GB HDD
- 軟體:Windows Server 2003, IIS 6.0, 動網 7.0
- 目標 IP:192.168.1.20
- 工具:Web Application Stress Tool (WAST)
工具安裝與核心配置
- 下載安裝 WAST(安裝極簡單,一路 Next)。
- 啟動工具,點擊左側 Defaults → Settings 進行全局配置:
1. 併發線程設置
- Stress level (threads):最小線程數(建議 500-1000,視壓力機 CPU 承受力而定)
- Stress multiplier:最大線程乘數
- 實際併發 ≈ Stress level × Stress multiplier,模擬同等數量的客戶端連接。
2. 測試持續時間
- Test Run Time:設置測試總時長(如 1 小時),支持 天/時/分/秒 多級單位。
3. 進階參數
- Request Delay:請求間延遲 (100-500ms),模擬真實用戶思考時間。
- Warmup / Cooldown:預熱與冷卻階段時長,避免冷啟動/收尾階段干擾核心指標。
- Bandwidth:模擬帶寬瓶頸(14.4Kbps - T1 1.5Mbps)。
- Redirects / Throughput / Name resolution:按需啟用。
建立測試腳本
- 工具欄點擊 New Script → 選 Manual 建立手動腳本。
- 主選項 Server 填入目標 IP (192.168.1.20)。
- Verb 選
GET,Path 填 /Index.asp (動網首頁)。可添加多個 Path 模擬不同頁面訪問。
執行測試與現象觀察
- 在 Settings 中將 Stress level 設為 1000。
- 點擊工具欄灰色三角形「播放」按鈕開始測試。
- 服務端觀察:任務管理器 CPU 飆升至 100%,
netstat -an 顯示大量 TIME_WAIT / ESTABLISHED 佔據 80 端口,網頁無法打開提示「連接數過多」。
- 客戶端工具面板:實時顯示請求/秒、平均響應時間、錯誤率、吞吐量等關鍵指標。
結果分析與應用
- 記錄 CPU 100% 時的併發數 即為單機極限吞吐點。
- 響應時間 > 3-5 秒或錯誤率 > 1% 視為性能拐點,指導擴容決策(加記憶體、調優 IIS/應用池、叢集部署)。
- 測試數據為上線前的「體檢報告」,也是架構優化的基線依據。
警示: 壓力測試工具是「雙刃劍」,嚴禁對未授權目標發起測試,否則構成 DoS 攻擊。請僅在隔離測試環境或獲得書面授權的生產維護窗口執行。