Jmeter 踩坑记录(七)

1.master连不上Slave机

解决方法:telnet 192.168.xx.xx 1099  看IP 端口通不通,如果通 OK,不通,检查关闭防火墙或者开放端口

 2.salve 连不上 master

解决方法:

(1)查看 jmeter-server 这个服务绑定该 agent机的IP是否正确

(2)或者修改Jmeter-server文件下的RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.xx.xx(salve 本地内网IP)

 3.master可以ping通salve,salve也可以ping通master主机

遇到的问题:

  启动remote测试后,Agent 机器 收到任务,且控制台显示:”Starting the test on host 192.168.xx.xx:1099 @ ***“,

  说明控制机分派上agent机上的测试成功,但是一直卡在这里不动了,控制机一直没有显示,任务执行状况以及收到测试结果(任务一直不结束,卡住了)。

  查看 salve 机上,日志文件:jmeter-server.log

 推断原因是 agent 连不了控制机192.168.xx.xx,被拒绝,连接超时

解决方法:

因为本地多网段原因agent默认返回IP非内网IP,所以被拒

如Jmeter启动需要指定本机内网IP启动JUI

jmeter -Djava.rmi.server.hostname=本机内网IP

 远程启动Linux执行机,Salve执行机接收指令并执行脚本,执行结果回传master主机

 4.命令行指定IP执行参考

jmeter -n -t sometest.jmx -Djava.rmi.server.hostname=clientpublicip -Dclient.rmi.localport=4001 -Rremoteip1,remoteip2 -Gmyproperty=123 -l results.jtl

参考官方链接:http://gerardnico.com/wiki/jmeter/remote

5. Linux配置文件读取问题

 解决方法:

将配置文件copy到jmeter/bin目录即可

6.单机端口不够用报错 java.net.BindException: Address already in use: connect

解决办法(在jmeter所在服务器操作):
(1)cmd中输入regedit命令打开注册表;
(2)在 HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters右键Parameters;
(3)添加一个新的DWORD,名字为MaxUserPort;
(4)然后双击MaxUserPort,输入数值数据为65534,基数选择十进制;再添加TcpTimedWaitDelay,数值为30-300 选择十进制
(5)完成以上操作,务必重启机器
(6)可能还会出现,jmeter请求中的Use KeepAlive去掉勾选

7.单机性能限制,java.lang.outOfMemoryError: unnable to create new native thread 通常都是由于内存泄露导致堆栈内存不断增大,从而引发内存溢出
原因:
(1)内存泄露,应用使用资源之后没有及时释放,导致应用内存中持有了不需要的资源
(2)内存溢出,应用的内存已经不能满足正常使用了,堆栈已经达到系统设置的最大值,进而导致崩溃
解决方法:
调整jmeter jvm值:
linux: cd /usr/local/jmeter/apache-jmeter-5.2.1/bin/jmeter文件
修改前:"${HEAP:="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"}"
修改后:"${HEAP:="-Xms8g -Xmx8g -XX:MaxMetaspaceSize=2048m"}" //8g为物理机内存的一半
windows同理修改jmeter.bat 切记不超过物理内存的一半

-----------------待补充-----------------------

posted @ 2020-12-07 16:47  o小兵o  阅读(495)  评论(1编辑  收藏  举报