Jmeter 分布式压测常见坑以及解决方案
做性能测试 的时候分布式是经常会使用的一种压测方案但是很多同学在部署分布式压测环境的时候会出现各种问题今天我们这篇文章就给大家把一些分布式搭建过程中的常见问题以及对应的解决方案进行汇总。常见错误和解决方案错误1在主控机器下面远程启动助攻机的时候报错解决方案这个链接超时原因可能有2个1你的主控机和助攻机的网络不通检查一下网络的连通性master 端和slave端要ping通2ping通后telnet ip port Linux 端看一下1099端口是否被占用 【如果你修改了端口就测试你修改后的端口】3你的助攻机服务没有启动使用./jmeter-server -D java .rmi.server.hostname助攻机IP地址 启动你的助攻机错误2启动助攻机的时候报错Engine is busy-please try later.解决方案这是因为助攻机上之前执行过脚本可能处于繁忙状态。解决方案1在停止jmeter测试的同时使用master中的’ Remote Stop all 选项这会杀死远程机进程上正在运行的线程。或者直接在助攻机上 使用kill -9 进程号杀掉进程2助攻机上的服务重启一下也就是重新启动助攻机的服务器./jmeter-server -D java.rmi.server.hostname助攻机IP地址3远程机的jmeter重新启动“jmeter-server.bat”并重新开始测试。错误3脚本运行的过程中不报错但是就是卡住无法收集到结果。启动remote测试后Agent 机器收到任务且控制台显示”Starting the test on host 192.168.1.132:1099***“说明控制机分派上agent机上的测试成功但是 一直卡在这里不动了控制机一直没有显示任务执行状况以及收到测试结果任务一直不结束卡住了。解决方案这个问题的原因我们可以通过助攻机上的 查apache-jmeter-5.2.1\bin 中 jmeter-server.log日志文件发现有错误推断原因是 agent 连不了控制机被拒绝连接超时。这个原因可能是因为本地主控机有多个网卡启动Jmeter的时候没有用跟助攻机连通的网卡所以会链接超时1修改一下Jmeter启动时使用IP地址就可以在主控机的Jmeter.bat文件中查找set ARGS这一句然后在其上面一行添加set rmi_host-Djava.rmi.server.hostname你跟主动即连通的IP地址【比如192.168.61.2】2然后在set ARGS这行最后加上空格 %rmi_host%3)在打开主控机的jmeter-server文件时检查一下启动IP地址如果修改完后还是不行那么就是你的主控机的电脑的防火墙没有关闭。一定要关闭主控机所有的防火墙错误4阶梯压测助攻机执行失败解决方案这是因为助攻机下的Jmeter里没有阶梯压测的插件 把windows电脑安装了插件的Jmeter工具压缩一下上传到助攻机上解压使用就可以了。错误5分布式执行的图显示不正确不是随着时间的线形图解决方案助攻机的时间跟主控机的时间保持一致。date看下时间如果不一致ntp同步一下时间。总结把常见的错误以及对应解决方案都列出来大家如果遇到对应的问题按照这个去解决就可以了。最后下方这份完整的软件测试 视频教程已经整理上传完成需要的朋友们可以自行领取【保证100%免费】软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。