Skip to content

Apache JMeter

壓力測試工具

軟體分類 網路與資安 / 網路工具
軟體標籤
bag
開發廠商 Apache Software Foundation
Stars
9.3k
Forks
2.3k
License
APACHE LICENSE 2.0
Version
v5.6.3
Update
2026-03-02
OS

產品說明

Apache JMeter 是一款開源的純 Java 應用程式,專門設計用於對 Web 應用程式進行負載測試(Load Testing)與效能測量。雖然它最初是為了測試 Web 應用而設計,但現在已擴展到其他測試功能,如資料庫(JDBC)、FTP、LDAP、Web Services (SOAP/REST) 與 TCP 連線。

JMeter 能夠模擬伺服器、網路或物件上的重負載,以測試其強度或分析不同負載類型下的整體效能。它是目前業界進行自動化壓力測試的標準工具之一,特別適合用於驗證應用程式在高併發情況下的穩定性。

核心特色:

  • 多協定支援:除 HTTP/HTTPS 外,還支援 REST, SOAP, JDBC (資料庫), FTP, LDAP, Mail (SMTP/POP3) 等協定。
  • 強大報告功能:內建多種視覺化監聽器 (Listener),可生成圖表、表格與樹狀結果,便於分析回應時間與吞吐量。
  • 分散式測試:支援 Master-Slave 架構,可控制多台遠端機器同時產生流量,模擬大規模使用者情境。
  • 高度可擴充:支援 BeanShell 與 JSR223 (Groovy) 腳本,並擁有龐大的第三方外掛生態系 (Plugins Manager)。

常用指令

在進行正式的壓力測試時,建議使用非圖形介面模式 (CLI / Non-GUI mode) 以節省系統資源並獲得更準確的測試結果。

啟動與基礎操作

# 啟動 JMeter 圖形介面 (用於建立測試計畫)
jmeter

# 以非 GUI 模式執行測試 (推薦用於正式壓測)
jmeter -n -t test_plan.jmx -l results.jtl

# 執行測試並在結束後自動生成 HTML 報告
jmeter -n -t test_plan.jmx -l results.jtl -e -o ./report_folder
參數功能說明範例
-n非 GUI 模式 (Non-GUI)jmeter -n ...
-t指定測試計畫檔 (.jmx)jmeter -t my_test.jmx
-l指定結果日誌檔 (.jtl)jmeter -l output.jtl
-e測試結束後生成報告需搭配 -o 使用
-o指定報告輸出資料夾jmeter -o ./html_report
-r啟動遠端伺服器 (分散式)jmeter -n -t test.jmx -r
-H設定 Proxy 主機jmeter -H 127.0.0.1 -P 8888

進階技巧

  • HTML 儀表板報告:使用 -g 參數可將已存在的 .jtl 檔轉換為美觀的 HTML 報表 (jmeter -g result.jtl -o ./report)。

  • 調整 Heap Size:修改啟動腳本中的 HEAP="-Xms1g -Xmx1g" 可避免在測試大型計畫時發生 OutOfMemoryError。

  • JSR223 PreProcessor:建議使用 Groovy 語言取代 BeanShell 撰寫前置處理腳本,效能會顯著提升。


操作介面