jmeter 分散式壓測,以及 使用的一些技巧

周小丽發表於2024-03-28

一、分散式壓測配置

1、注意事項
(1)主控機和所有的客戶機要求都在同一區域網
(2)主控機和所有的客戶機的 jmeter 和 jdk 要求是同一版本
(3)注意主控機和所有的客戶機的防火牆需要關閉

systemctl stop firewalld.service
firewall-cmd --state

(4)假設有三臺機器,一臺主控機即控制機(192.168.13.9),兩臺客戶機即執行機(192.168.13.248 192.168.13.252)
2、環境配置
(1)修改 2 臺客戶機上的 jmeter.properties 檔案,關閉 ssl

server.rmi.ssl.disable=true

(2)透過命令啟動 2 臺客戶機,注意命令中的 ip 指客戶機的 io

./jmeter-server -Djava.rmi.server.hostname=192.168.13.248

(3)另外一臺客戶機也啟動

./jmeter-server -Djava.rmi.server.hostname=192.168.13.252

(4)修改主控機上的 jmeter.properties 檔案,配置 2 臺客戶機的 ip、關閉 ssl

remote_hosts=192.168.13.248:1099,192.168.13.252:1099
server.rmi.ssl.disable=true

(5)修改主控機上的 system.properties 檔案(注意 ip 為主控機的 ip)

java.rmi.server.hostname=192.168.13.9

(6)主控機啟動壓測

jmeter.bat -n -t C:\apache-jmeter-5.3\地圖實驗室\dtsys.jmx -r -l C:\apache-jmeter-5.3\地圖實驗室\test1434.jtl

注意:
-r 代表啟動所有的遠端機器
-R 192.168.13.248,192.168.13.252 代表的啟動某些遠端機器
-l 表示輸出日誌


(7)主控機每次執行完畢後,建議將客戶機重啟下

(8)最終的壓力併發數=指令碼的執行緒數 * 客戶機的數量(如下實際壓測數是 2000)

二、命令列執行 jmeter 後檢視結果樹響應資料為空

jmeter 預設情況下命令列執行壓測指令碼後生成的 jtl 檔案開啟後檢視結果樹中響應資料是為空的

如果要顯示響應資料的話,修改以下兩個配置檔案
1、在 jmeter.properties 檔案中修改配置

jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true

2、在 user.properties 檔案中追加配置

jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.responseHeaders=true

3、命令列執行指令碼

./jmeter.sh -n -t /opt/apache-jmeter-5.3/dtsys/dtsys.jmx -l /opt/apache-jmeter-5.3/dtsys/result/result1124.jtl

相關文章