CentOS上使用JMeter進行負載測試的完整步驟
JMeter依賴Java運行環境(建議使用JDK 1.8),通過以下命令安裝OpenJDK 1.8:
yum -y install java-1.8.0-openjdk-devel
驗證安裝是否成功:
java -version
若輸出類似openjdk version "1.8.0_xxx"的信息,則表示安裝成功。
訪問Apache JMeter官網下載最新穩定版(如5.4.3),將壓縮包上傳至CentOS的/usr/local目錄并解壓:
tar -zxvf apache-jmeter-5.4.3.tgz -C /usr/local/
配置JMeter環境變量,編輯/etc/profile文件,添加以下內容:
export JMETER_HOME=/usr/local/apache-jmeter-5.4.3
export PATH=$JMETER_HOME/bin:$PATH
使配置生效:
source /etc/profile
驗證JMeter安裝:
jmeter -v
若輸出JMeter版本信息,則表示安裝成功。
啟動JMeter GUI(jmeter命令),創建新測試計劃,按以下步驟添加元素:
/data/login.csv),并在HTTP請求中引用變量(如${username})。保存測試計劃為.jmx文件(如test_plan.jmx)。
非GUI模式可減少資源消耗,適合大規模壓測。命令格式如下:
jmeter -n -t /path/to/test_plan.jmx -l /path/to/results.jtl
參數說明:
-n:非GUI模式;-t:測試計劃文件路徑;-l:結果文件路徑(需以.jtl結尾,用于后續分析)。若需自動生成HTML格式的詳細報告,可添加-e(生成報告)和-o(報告輸出目錄)參數:
jmeter -n -t /path/to/test_plan.jmx -l /path/to/results.jtl -e -o /path/to/report_dir
報告將包含響應時間分布、吞吐量趨勢、錯誤率等可視化圖表。
將生成的results.jtl文件下載至本地(如Windows系統),用JMeter GUI打開:
若需模擬10萬+并發用戶,可通過分布式架構擴展負載能力,步驟如下:
在每臺Slave節點上,編輯jmeter.properties文件(位于$JMETER_HOME/bin目錄),設置以下參數:
server.rmi.localport=1099
server_port=1099
server.rmi.ssl.disable=true # 關閉SSL(簡化配置,生產環境建議開啟)
啟動Slave節點:
jmeter-server -Djava.rmi.server.hostname=<slave_ip>
(<slave_ip>為Slave節點的實際IP地址)
編輯Master節點的jmeter.properties文件,添加Slave節點的IP地址:
remote_hosts=<slave1_ip>:1099,<slave2_ip>:1099
啟動分布式測試(非GUI模式):
jmeter -n -t /path/to/test_plan.jmx -R <slave1_ip>,<slave2_ip> -l /path/to/results.jtl
參數說明:
-R:指定Slave節點的IP地址(可多個,用逗號分隔)。top、htop等工具監控Slave節點的CPU、內存使用情況,避免過載。