JMeter是基于Java開發的性能測試工具,需先安裝Java運行環境(JRE或JDK)。推薦使用OpenJDK 11及以上版本(兼容性更好):
# 更新軟件包索引
sudo apt update
# 安裝OpenJDK 11 JDK
sudo apt install -y openjdk-11-jdk
# 驗證安裝(需顯示Java版本信息)
java -version
若需安裝Oracle JDK,可從官網下載tar.gz包,解壓后配置環境變量(參考后續JMeter環境變量配置步驟)。
從Apache JMeter官方網站下載最新穩定版(如5.4.1),使用wget
命令直接獲?。?/p>
# 進入臨時目錄(或自定義目錄)
cd /tmp
# 下載JMeter(替換為最新版本鏈接)
wget https://downloads.apache.org/jmeter/binaries/apache-jmeter-5.4.1.tgz
# 解壓到當前目錄
tar -xzf apache-jmeter-5.4.1.tgz
為方便全局調用JMeter命令,需將JMeter的bin
目錄添加到系統PATH
中:
# 編輯用戶級環境變量文件(或/etc/profile系統級文件)
nano ~/.bashrc
在文件末尾添加以下內容(假設JMeter解壓到/opt/jmeter
):
# 設置JMeter根目錄
export JMETER_HOME=/opt/jmeter
# 將JMeter bin目錄加入PATH
export PATH=$JMETER_HOME/bin:$PATH
保存文件后,執行以下命令使配置生效:
source ~/.bashrc
驗證安裝是否成功:
jmeter -v
正常情況下會顯示JMeter版本、Java版本及版權信息。
適用于測試計劃創建與調試,命令如下:
jmeter
啟動后會彈出JMeter圖形界面,可通過左側樹形結構添加線程組、HTTP請求、監聽器等組件。
適用于正式性能測試(資源占用更低),常用命令:
# 執行測試計劃并生成結果文件
jmeter -n -t /path/to/test_plan.jmx -l /path/to/results.jtl
# 執行測試并生成HTML報告
jmeter -n -t /path/to/test_plan.jmx -l /path/to/results.jtl -e -o /path/to/report
參數說明:
-n
:非圖形界面模式-t
:指定測試計劃文件(.jmx格式)-l
:指定結果日志文件(.jtl格式)-e
:測試結束后生成HTML報告-o
:指定報告輸出目錄。用于擴展JMeter功能(如WebSocket、JDBC測試),步驟如下:
# 進入JMeter lib/ext目錄
cd /opt/jmeter/lib/ext
# 下載插件管理器(替換為最新版本鏈接)
wget https://jmeter-plugins.org/get/
# 重啟JMeter使插件生效
安裝后,可在JMeter“選項”→“插件管理器”中安裝所需插件(如“JPEG Graphs”“Custom Thread Groups”)。
若需測試數據庫性能,需下載對應數據庫的JDBC驅動(如MySQL的mysql-connector-java-8.0.xx.jar
),并將其復制到JMeter的lib
目錄:
# 下載MySQL驅動(示例)
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.33.tar.gz
# 解壓并復制驅動文件
tar -xzf mysql-connector-java-8.0.33.tar.gz
cp mysql-connector-java-8.0.33/mysql-connector-java-8.0.33.jar /opt/jmeter/lib/
重啟JMeter后,即可在“JDBC Connection Configuration”中配置數據庫連接。
若執行jmeter
命令時報“Permission denied”,需給JMeter bin目錄下的腳本添加可執行權限:
sudo chmod +x /opt/jmeter/bin/jmeter
若執行WebSocket測試時出現java.lang.NoClassDefFoundError: org/eclipse/jetty/util/ssl/SslContextFactory
,需安裝JMeter WebSocket Sampler插件及其依賴(6個jar包),將依賴包放入lib/ext
目錄后重啟JMeter。
通過以上步驟,即可在Ubuntu系統上完成JMeter的基礎配置,并開展性能測試。根據實際需求,可進一步調整JMeter配置(如線程數、Ramp-up時間、監聽器)或集成Ant/Maven實現自動化測試。