(1)启动全部远程服务器,即启动jmeter.properties文件中remote_hosts配置的所有远程服务器;
命令如下:jmeter -n -t .\Mark\search_list.jmx -r
(2)启动指定的远程服务器
命令如下:jmeter -n -t .\Mark\search_list.jmx -R server1,server2
5.启动jmeter-server.bat时抛出了如下异常 (用过-是可以的)
问题分析
1.可能监听的端口被占用,修改端口号
2.Server相关的rmi配置需要调整
解决方案 -(用过是可以的)
在目录\apache-jmeter-5.0\bin下,用Notepad++编辑器打开名为jmeter.properties的文件
找到server.rmi.ssl.disable=false,改为true,并把前面的#去掉
保存配置调整,重新启动jmeter-server.bat即可恢复正常。
这个最好在做分布式的时候,控制机和代理机的jmeter.properties文件这个地方一并修改,不修改还是会报错。
slave机器服务终端显示,但是一个非常简单的脚本,执行超级慢,感觉不应该:
Starting the test on host 192.168.5.158:1099 @ Fri Aug 17 14:00:44 GMT+08:00 2018 (1534485644989)
Finished the test on host 192.168.5.158:1099 @ Fri Aug 17 14:05:18 GMT+08:00 2018 (1534485918786)
master机器没有返回结果。
1.怀疑jmeter环境变量配置,反复查看没有问题
2、怀疑jmeter.properties文件修改错误,反复查了master、slave机器的配置文件,没有问题
3、将问题转向机器IP,查看master机器IP,slave机器IP,都用的固定IP,没有问题
4、重新启动master机器的jmeter-server.bat,发现了和slave机器异样的地方,master机器显示的endpoint:IP是Vmware network Adapter vmnet1(安装VMWare的虚拟IP),jmeter-server启动的时候自动识别了虚拟机IP,没有识别本地网络IP
5、将网络适配器中的虚拟适配器禁用掉,重新启动jmeter-server.bat,endpoint变成了本地IP,再次尝试远程执行,成功,复杂的脚本执行也很快。
最终发现问题出现在第四个上:(我按照第4,5个方式做了,但是最后又有了问题,下面是我的试验情况,以及这样会产生什么问题)
jmeter-server.bat启动时的ip是虚拟机的ip。可以在本地开启虚拟机,在本事使用 ipconfig查一下:
上面本机Jmeter-server.bat;启动显示的ip地址。本机jmeter.properties里设置的remote_hosts的ip址要与Jmeter-server.bat启动显示的ip地址一样。不要按照上面那样去禁用网络设配器的虚拟机适配器。如果禁用了网络设配器的虚拟机适配器,本机Jmeter-server.bat启动时它就会用无线网络的ip地址,那样你再把jmeter.properties里的remote_hosts,设置为无线网络的ip地址,那样agent(虚拟机中代理机)机就会响应请求、数据,而界面也会弹出错误,如下图:
禁用网络设配器的虚拟机适配器,再配置本地jmeter.properties里的remote_hosts为无线网络的ip地址的后果:
那样你在本机用:telnet 192.168.61.128(虚拟机ip) 1099;
发现连接不上;
而当你把禁用的网络设配器的虚拟机适配器启动;再把本地jmeter.properties里的remote_hosts设置为本地meter-server.bat启动时的ip,就会发现:telnet 192.168.61.128(虚拟机ip) 1099 成功。这是自身实践的结果,因为禁用了网络设配器的虚拟机适配器,而去用无线网络的ip导致一直报上图 refused to host错误,再在去网络上找解决这个错误的方法,试了老半天没成功,最终还是启用禁用网络设配器的虚拟机适配器,使用虚拟机的ip才成功。这个是我自身的这错误的原因,希望大家对大家有借鉴作用。
补充:如果你在虚拟机发现telnet 169.254.202.187(本机中ipconfig出来虚拟机ip) 1099连接不同,可以对这个虚拟机适配器进行关闭,使用另外的ip尝试(一般总有一个能够连接上)
9、Jmeter分布式运行报该错误时:(用过)
Error in rconfigure() method java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: kg.apc.jmeter.threads.UltimateThreadGroup (no security manager: RMI class loader disabled)
解决方法:(用过-可以)
10、Jmeter分布式运行时报该错误时(用过):
Error in NonGUIDriver java.lang.RuntimeException:Following remote engines could not be configured/或者 Error in NonGUIDriver java.lang.RuntimeException: Could not find the configured时
在做了个负载测试跑半个小时候,再次编辑线程数保存,重新启动分布式运行时报如下错误:
解决方法:
重启一下拒绝连接的那台执行机,然后再重新启动jmeter server.bat,即可。(用过-可以)
11、jmeter分布式报错,
Error in rconfigure() method java.rmi.ConnectException: Connection refused to ho st
slave机器:Linux(4台)
准备压力机过程中,为方便省事,只配置了一台,其余3台是从这一台克隆过来的
执行分布式压测,返回如下error:
Error in rconfigure() method java.rmi.ConnectException: Connection refused to ho
st: 192.168.0.105; nested exception is:
java.net.ConnectException: Connection refused: connect
查看jmeter-server启动命令,发现slave机器使用的ip是克隆源ip
解决方法:
slave机器上,bin目录下修改jmeter-server,改为slave机器ip
(用过)
12、刚跑完负载测试时,改变线程数再次跑分布式运行时,会报如下错误:
解决方法:
将执行机与控制机的jmeter server.bat关闭重启即可,因跑完负载测试时,jmeter server.bat运行只有开始没有结束