「讓 Web 應用跑通」與「讓它快速、穩定地跑」是兩碼事。本文建立效能工程基礎認知,適用於 J2EE 等各類 Web 架構。
| 指標 | 定義 | 意義 |
|---|---|---|
| Response Time (響應時間) | 從發起請求到收到完整回應的時間 | 衡量速度的核心度量 |
| Scalability (伸縮性) | 響應時間隨負載線性增長,系統在預期範圍內「優雅」擴展 | 衡量架構承載彈性 |
模擬大量用戶併發請求,測量系統在響應時間惡化至不可接受閾值前的最大併發處理能力。
| 類別 | 工具 | 特點 |
|---|---|---|
| 免費/開源 | Web Application Stress Tool (Microsoft) | Windows 原生,上手快 |
| JMeter (Apache) | Java 跨平台、擴充套件豐富、CI/CD 整合佳,首選 | |
| LoadItUp (BroadGun) | 輕量級,適合簡單場景 | |
| 商業級 | WebLoad (RadView) | 功能全面、企業級報表 |
| SilkPerformer (Segue) | 腳本語言強、協定支援廣 | |
| Benchmark Factory (Quest) | 資料庫專項壓測強項 | |
| LoadRunner (Mercury/HP) | 業界標竿、價格最高、生態最完整 |
壓測發現慢,Profiler 告訴你哪行代碼、哪個物件、哪個方法吃資源:
「工具能讓工作輕鬆,但發現系統瓶頸才是最關鍵、最能體現功力的步驟。這要求對應用平台、架構、資料庫、網路等全棧有深厚造詣。」
會寫 JSP/JDBC 只能叫「會開發」,能定位並解決生產環境效能疑難雜症,才是資深工程師。