我正在嘗試使用 Docker 實作 Jmeter 分布式框架。主從在 ec2 中的不同主機上運行。埠已打開以允許通信。
大師被下面的訊息卡住了
Starting distributed test with remote engines: [slaveIP:1099] @ Sun Nov 21 04:50:29 GMT 2021 (1637470229447)
Remote engines have been started:[slaveIP:1099]
在從屬端,它向我拋出連接拒絕錯誤。
java.rmi.ConnectException: Connection refused to host: 172.17.0.2; nested exception is:
啟動從機的命令:
docker run \
-dit \
-p 6000:6000 \
-p 1099:1099 \
-v "${volume_path}":${jmeter_path} \
--rm \
jmeter \
-n -s \
-Jclient.rmi.localport=3000 \
-Jserver.rmi.localport=6000 \
-Dserver_port=1099 \
-Djava.rmi.server.hostname=<HostIP> \
-Dserver.rmi.ssl.disable=true \
-j ${jmeter_path}/server/slave_${timestamp}_${IP_ADD}.log
啟動master的命令
docker run \
-v "${volume_path}":${jmeter_path} \
-p 3000:3000 \
--rm \
jmeternew \
-n -X \
-t ${jmeter_path}/$1 \
-Dserver.rmi.ssl.disable=true \
-Dclient.rmi.localport=3000 \
-R slaveIP:1099 \
-l ${jmeter_path}/client/result_${timestamp}.jtl \
-j ${jmeter_path}/client/jmeter_${timestamp}.log
如果我在同一臺機器上運行 master 和 slave,則相同的命令正在作業。我嘗試更改 java.rmi.server.hostname=0.0.0.0。它還向我拋出連接拒絕錯誤
uj5u.com熱心網友回復:
根據 :
- https://www.guru99.com/jmeter-distributed-testing.html
- https://www.baeldung.com/jmeter-distributed-testing
- 帶有遠程服務器的 JMeter
- https://medium.com/@Muhammad.Ali.Nisar/jmeter-master-slave-configuration-fe38fc890ca
- https://jmeter.apache.org/usermanual/remote-test.html
只是我們需要:
- 配置從機
- 配置運行機器
- 使用檔案jmeter/bin/jmeter.properties在主站上添加從站 ip/ips
remote_hosts=192.165.0.10,192.165.0.20,192.165.0.30
- 主埠和從埠是隨機分配的,因此您應該分別使用引數:client.rmi.localport 和 server.rmi.localport。
- 然后啟動主jmeter
- 然后啟動slave jmeter,連接就建立了。
建議
建立與 docker 的連接,遵循互聯網上的幾個教程。這將幫助您檢測以下錯誤:
- 防火墻權限
- 主從埠配置
- 公網/私網限制
- 等等
如果有效,則使用 docker 使其自動化。
uj5u.com熱心網友回復:
- 您使用的
172.17.0.2是一種本地網路地址的B類網路讓你的“主人”可能無法達到對方,嘗試使用公共IP地址,而不是 - 您需要在作業系統防火墻和EC2 安全組中打開 RMI 埠
- 我不明白你為什么需要 docker,它不會增加任何價值,只會讓事情變得更復雜并消耗資源
- 我看不到在那里進行分布式測驗的原因,一臺主機和一臺從機相當于一臺“負載生成器”機器,這意味著您可以從單個主機以命令列非 GUI 模式運行您的測驗,并且得到相同的結果。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/363487.html
上一篇:加速本征c 轉置?
