master和slave機要在同一網段內,才能做分布式(Jmeter要配環境變量,這樣不用手動起server)
分布式不成功,解決方案:
1、master端和slave端要ping通
2、ping通后,telnet ip port (Linux端),看一下1099端口是否被占用
3、防火牆
4、jmeter的log,如果請求發過去,但是沒有返回結果,看看網段的問題
主要步驟:
master端修改:
1、修改remote_hosts=ip:port:改成要啟動的Linux機的ip以及端口
slave端修改:一般來講不需要修改任何東西,但事實可能會有幾個問題:
將jmeter.properties的文件修改
1、如果要改端口,則修改
2、找不到指定文件:ssl.disable 改成true
一、Linux運行JMeter server 出現說 "is a loopback address",回環地址有問題
解決方案:
1、修改hosts文件,127.0.0.1 besttest 將127.0.0.1 換成Linux機器的ip地址,或者將127.0.0.1 besttest 這一行給注釋(#),在下面另起一行:ip besttest
/sbin/ifconfig---非root用戶獲取ip地址的命令,ifconfig只有root用戶可以直接用
2、啟動的時候,指定一個ip地址,在JMeter的bin目錄下,有個文件叫:jmeter-server(如果是Linux就修改.sh文件),這個的xxx.xxx.xxx.xxx換成Linux的ip地址
二、jmeter-server啟動,報錯說系統找不到指定文件
java.io.FileNotFoundExpection :rmi_keystore.jks(系統找不到指定文件)
errorlevel = 1
這個問題怎么解決???
方式1、將jmeter.properties的ssl.disable改成true(不進行文件校驗)
方式2、如果slave機在Linux機上,就運行create-rmi-keystore.sh文件;如果是slave機在window上,就運行create-rmi-keystore.bat文件
運行后,自行填寫相關信息
運行后,bin目錄下會多出一個rmi_keystore.jks文件
這個文件拷貝到想要運行的slave機上,就不用方法1就可以,就是個文件校驗的問題
二、一分布式執行,就卡住不懂,一般是炸不到ip了
jmeter -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx(ip是你要啟動的ip)