https://www.cnblogs.com/beginner-boy/p/7836276.html
https://www.cnblogs.com/wuhenyan/p/6419368.html
分布式執行原理:
一、linux負載機配置
1、下載jdk,並將JDK解壓至 /usr/lib/jvm 下 (一般解壓至該路徑下,避免記憶個性化設置)
配置jdk的環境變量,將下述內容復制粘貼 #vi /etc/profile export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121 export JRE_HOME=/usr/lib/jvm/jdk1.8.0_121/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin 輸入esc :wq!退出保存,執行命令“” source /etc/profile"刷新配置文件 執行命令java -version查看是否設置成功
2、下載jmeter tgz文件,並將文件上傳至/data/ 下載地址:http://jmeter.apache.org/download_jmeter.cgi (jmeter4.0)
#將jmeter文件解壓,並將解壓后的文件拷貝至指定路徑/data/ #tar xvf apache-jmeter-4.0.tgz 配置jmeter的環境變量,將下述內容復制粘貼 #vi /etc/profile export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar: export PATH=$PATH:$JAVA_HOME/bin:$JMETER_HOME/bin: export JMETER_HOME=/data/apache-jmeter-4.0 輸入esc :wq!退出保存,執行命令“” source /etc/profile"刷新配置文件 執行命令jmeter -v查看是否設置成功
3、在jmeter目錄創建testplan testresult子目錄
將測試腳本login.jmx上傳至testplan,進入bin文件下執行測試輸出測試結果命令
# cd /data/apache-jmeter-4.0/bin #./jmeter -n -t ../testplan/login.jmx -l ../result/test.jtl -e -o ../testresult/
將testresult壓縮
*********************************************************************************************************************
二、分布式配置
1、在多台機器中按照上述步驟配置jmeter,選擇其中一台為調度機,其他為執行機
2、在調度機上修改bin/jmeter.properties,添加執行機的IP及端口(使用-r啟動所有從機)1099是默認的rmi通信端口,取消server.rmi.ssl.disable=false的中注釋並將false改為ture
# Remote Hosts - comma delimited remote_hosts=192.168.5.95:1099,192.168.5.103:1099 server.rmi.ssl.disable=true
3、開啟執行腳本機器上的server服務,bin/jmeter-server
4、在控制機執行分布式命令
jmeter -n -t testplan/comic.jmx -R 10.15.243.53,10.15.230.78 -l testResult/result1.jtl 指定從機IP
jmeter -n -t testplan/comic.jmx -r -l testResult/result1.jtl 啟動所有從機執行腳本
注:若有host同樣也需要修改從機的host文件,否則會出現error
常見問題解析:
1、在調度機中遠程啟動時,提示“Exception creating connection to : xx.xx.xx.xx,nested exception is:java.io.FileNotFoundException:rmi_keystore.jks(系統找不到指定的文件。)”
解決方法:取消調度機jmeter.properties文件中的server.rmi.ssl.disable=false的中注釋並將false改為ture,重新啟動即可。
2、提示“Error initialising remote server:xx.xx.xx.xx connection refused to host:xx.xx.xx.xx;nested exception is java.net Connection refused:connect”
解決方法:進入執行機執行命令./jmeter-server 啟動服務即可。
3、提示“no such object in table”
解決方法:修改執行機中jmeter.properties的server_port=1099即可。