效能測試入門指南:從負載測試到壓力測試的完整教學
效能測試入門完整指南 - 涵蓋負載測試、壓力測試、浸泡測試,介紹 JMeter、k6、Locust 三大工具實戰用法,從零學會找出系統瓶頸確保上線穩定
💡 本指南由 Mark Liu 編整、實測校稿。內容會隨工具版本與市場變化持續更新,建議搭配實際情境調整應用。
本文提供效能測試入門指引,實際工具選擇與測試策略需依專案需求調整。
目錄
1. 為什麼需要效能測試
2. 效能測試的四種類型
3. 效能測試的關鍵指標
-
回應時間 (Response Time)
P50(中位數)、P95、P99 分位數。P99 比平均值更能反映真實用戶體驗
-
吞吐量 (Throughput)
每秒處理的請求數 (RPS)。代表系統的處理能力
-
錯誤率 (Error Rate)
失敗請求的比例。負載增加時錯誤率不應急速上升
-
併發用戶數 (Concurrent Users)
同時在線的用戶數量
-
資源使用率
CPU、記憶體、磁碟 I/O、網路頻寬的使用情況
4. 三大效能測試工具比較
-
優點
GUI 操作直覺、外掛豐富、支援多種協定(HTTP、FTP、JDBC、SOAP)
-
缺點
Java 寫的比較吃資源、腳本維護成本高、不適合版本控制
-
適合
入門學習、需要 GUI 操作、非工程師背景的 QA
-
優點
腳本用 JS 撰寫易讀易維護、CLI 執行適合 CI/CD、資源消耗低
-
缺點
只支援 HTTP/WebSocket/gRPC、不支援 GUI 錄製
-
適合
現代 Web API 測試、CI/CD 整合、有程式背景的 QA
-
優點
Python 生態系豐富、分散式執行容易、Web UI 即時監控
-
缺點
Python GIL 限制單機效能、需要 Python 知識
-
適合
Python 技術棧團隊、需要複雜用戶行為模擬
5. 效能測試實戰流程
-
首頁載入時間必須在 2 秒內(P95)
首頁載入時間必須在 2 秒內(P95)
-
API 回應時間必須在 200ms 內(P99)
API 回應時間必須在 200ms 內(P99)
-
系統必須支撐同時 5000 位用戶
系統必須支撐同時 5000 位用戶
-
錯誤率必須低於 0.1%
錯誤率必須低於 0.1%
-
硬體規格應與生產環境一致(或按比例縮小並換算)
硬體規格應與生產環境一致(或按比例縮小並換算)
-
資料庫要有接近真實量級的測試資料
資料庫要有接近真實量級的測試資料
-
關閉不必要的監控與日誌,避免干擾結果
關閉不必要的監控與日誌,避免干擾結果
-
分析生產環境的流量模式(哪些 API 最常被呼叫)
分析生產環境的流量模式(哪些 API 最常被呼叫)
-
定義用戶行為路徑(瀏覽首頁 → 搜尋 → 查看商品 → 加入購物車)
定義用戶行為路徑(瀏覽首頁 → 搜尋 → 查看商品 → 加入購物車)
-
設定合理的思考時間(用戶在頁面停留的時間)
設定合理的思考時間(用戶在頁面停留的時間)
-
準備測試資料(不同帳號、不同商品)
準備測試資料(不同帳號、不同商品)
-
使用 Grafana + Prometheus 監控伺服器指標
使用 Grafana + Prometheus 監控伺服器指標
-
觀察資料庫慢查詢日誌
觀察資料庫慢查詢日誌
-
記錄應用程式日誌中的錯誤
記錄應用程式日誌中的錯誤
-
注意垃圾回收(GC)頻率與暫停時間
注意垃圾回收(GC)頻率與暫停時間
-
比較實際數據與效能目標的差距
比較實際數據與效能目標的差距
-
找出瓶頸點(是 CPU、記憶體、資料庫還是網路)
找出瓶頸點(是 CPU、記憶體、資料庫還是網路)
-
提出具體的優化建議與優先順序
提出具體的優化建議與優先順序
-
記錄基準數據,作為後續迴歸比較的基礎
記錄基準數據,作為後續迴歸比較的基礎
6. 常見效能瓶頸與解法
-
資料庫查詢慢
加索引、優化查詢、使用快取
-
記憶體洩漏
用 profiler 找出洩漏點,檢查未釋放的資源
-
連線池耗盡
調整連線池大小、檢查連線是否正確歸還
-
CPU 滿載
找出 CPU 密集型操作,考慮非同步處理或水平擴展
7. 常見問題 FAQ
相關懶人包
2026 QA 趨勢實戰:我看到的 5 個正在發生的轉變(AI / Shift-Left / Observability)
從手動 QA 到 AI 輔助、從測試金字塔到測試獎盃。這篇分享我這 10+ 年看 QA 從「測完才知道」到「shift-left + AI」的真實觀察。
API 測試入門:用 Postman 和 pytest 打造你的第一個 API 測試
API 測試是現代 QA 必備技能。從 HTTP 基礎概念到實際用 Postman 和 pytest 寫測試,帶你踏出 API 測試的第一步。
Bug 回報的藝術:讓開發者秒懂的 Bug Report 寫法
一份好的 Bug Report 能大幅加速修復速度。分享 Bug 回報的最佳實踐,包含模板、嚴重度分級、以及如何與開發有效溝通。
一般聲明
本站提供之資訊僅供參考,不保證其完整性與正確性。使用者應自行判斷資訊之適用性。