參考資料
https://my.oschina.net/u/4411233/blog/3523962
https://www.cnblogs.com/mudingxi/p/12725932.html
配置前請保證
-
master能和salve機相互ping通
注意代理
-
master和salve機版本一致
jdk, jmeter版本最好都一致
-
自行配置好了Jdk,jmeter環境,下面是/etc/profile環境變量實例,僅供參考
需要切換成個人的jdk目錄和jmeter目錄
# Java環境變量 是salve機中 jdk的目錄位置 export JAVA_HOME=/root/jdk1.8.0_202 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # jmeter /root/apache-jmeter-4.0 是salve機中 jmeter的目錄位置 export PATH=/root/apache-jmeter-4.0/bin:$PATH
-
需要將salve機裏面jmeter/bin 目錄下 執行 chmod 777 * (linux 賦予最高權限,該目錄下所有內容)
master配置
"apache-jmeter-4.0\bin\jmeter.properties",jmeter目錄下的jmeter.properties, 快捷修改下面兩處即可
...
# Remote Hosts - comma delimited
remote_hosts=192.168.99.201:1099,192.168.99.213:1099
#remote_hosts=localhost:1099,localhost:2010
...
# Set this if you don't want to use SSL for RMI
# server.rmi.ssl.disable=false
server.rmi.disable=true
#---------------------------------------------------------------------------
# Include Controller
#---------------------------------------------------------------------------
...
salve機配置
jmeter.properties 修改如下
...
# Remote Hosts - comma delimited
remote_hosts=127.0.0.1
#remote_hosts=localhost:1099,localhost:2010
# RMI port to be used by the server (must start rmiregistry with same port)
server_port=1099
# To change the port to (say) 1234:
# On the server(s)
# - set server_port=1234
# - start rmiregistry with port 1234
# On Windows this can be done by:
# SET SERVER_PORT=1234
# JMETER-SERVER
...
# To use a specific port for the JMeter server engine, define
# the following property before starting the server:
# server.rmi.localport=1099
server.rmi.localport=1099
# The jmeter server creates by default the RMI registry as part of the server process.
# To stop the server creating the RMI registry:
#server.rmi.create=false
...
#server.rmi.ssl.truststore.password=changeit
#
# Set this if you don't want to use SSL for RMI
# server.rmi.ssl.disable=false
server.rmi.ssl.disable=true
#---------------------------------------------------------------------------
# Include Controller
#---------------------------------------------------------------------------
# Prefix used by IncludeController when building file name
#includecontroller.prefix=
...
salve機啓動jmeter-server
jmeter-server -Djava.rmi.server.hostname=salve機IP
成功實例
[root@localhost ~]# jmeter-server -Djava.rmi.server.hostname=192.168.0.201
Using local port: 1099
Created remote object: UnicastServerRef2 [liveRef: [endpoint:[192.168.0.201:1099](local),objID:[-3a26b868:177719a586a:-7fff, 415585591331621556]]]
no gui 模式啓動分佈式測試
-
運行所有配置好的salve機
# 啓動所有slave機 結果文件後綴可以是jtl csv html報告路徑必須是空的,結果文件不能已存在 # jmeter -n -t jmx腳本 -r -l 結果文件 -e -o html報告地址 jmeter -n -t D:\HTTP請求.jmx -r -l resutl.jtl -e -o D:\report
-
運行指定IP的salve機
# 分佈式運行jmeter no gui 指定對應slave機 # jmeter -n -t 腳本.jmx -l 結果.jtl -H slave機IP -P slave機端口(默認1099) -e -o html報告保存目錄(需要是個空目錄) jmeter -n -t D:\HTTP請求.jmx -H 192.168.99.201 -P -l resutl.jtl -e -o D:\report
成功實例
-
salve機
Starting the test on host 192.168.0.213:1099 @ Fri Feb 05 17:15:08 CST 2021 (1612516508755) Finished the test on host 192.168.0.213:1099 @ Fri Feb 05 17:15:10 CST 2021 (1612516510087)
-
master機
Configuring remote engine: x.x.x.x:1099 Configuring remote engine: x.x.x.x:1099 Starting remote engines Starting the test @ Fri Feb 05 18:00:43 CST 2021 (1612519243358) ...