Meter是一個很出色的壓力測試工具,即可實現單機壓測,也可以實現遠程分布式壓測。這里記錄以下遠程分布式壓測配置實現。
一般來說,JMeter客戶端都是放在Window上的,JMeter客戶端本本身不執行壓測工作,只是將壓測腳本分發給jmeter服務端,由服務端進行壓測工作,架構圖如下。
jmeter客戶端配置
jmeter客戶端配置相當簡單,只需要在jmeter.properties中指定remote-host
即可,如下配置,
remote_hosts=192.168.31.101:1099,192.168.31.102:1099,192.168.31.103:1099
其中1099
是jmeter server默認的服務端口。接着在jmeter客戶端通過UI可以看到如下,
jmeter服務端配置
jmeter服務端配置相當簡單,只需要啟動jmeter-server
服務即可。
啟動方式,到jmeter的home目錄下面的bin目錄,啟動:./jmeter-server
參考:https://www.linuxidc.com/Linux/2017-09/146660.htm
遇到的問題:
一、啟動jmeter-server的時候,提示:java.io.FileNotFoundException: rmi_keystore.jks (系統找不到指定的文件。)
1、找到apache-jmeter-4.0\bin\jmeter.properties
2、修改server.rmi.ssl.disable=true (記得去除server.rmi.ssl.disable=true前的#),重新啟動jmeter-server.bat
3、查看命令窗口顯示則啟動成功
參考:https://blog.csdn.net/maoer901203/article/details/81301359
二、在Ubuntu中啟動./jmeter-server報錯Server failed to start: java.rmi.RemoteException: Cannot start. ranxf is a loopback address
在jmeter-server加上參數后再次執行: ./jmeter-server -Djava.rmi.server.hostname=10.1.1.222
參考地址:http://www.mamicode.com/info-detail-2255828.html
三、啟動遠程服務器的時候提示
ERROR o.a.j.e.DistributedRunner: Failed to create engine at 172.30.8.210:1099
java.rmi.ConnectException: Connection refused to host: 172.30.8.210; nested exception is:
java.net.ConnectException: Operation timed out (Connection timed out)
開放對應的端口或關閉遠程服務器的防火牆即可
命令行下遠程分布式壓力測試:
測試命令說明
./jmeter -n -t 壓力測試.jmx -r -l results.jtl
-o :用於存放html報告的目錄