使用JMeter执行分布式测试,经常遇到各种各样的报错,本文就汇总下工作中经常遇到的几种问题
1、本文master端为windows,slave端为linux
2、不管master和slave在windows还是linux,首先要保证网络是通的,telnet ip 端口就行
3、适合平台大批量调用jmeter实现性能测试排查问题,端口占用,slave异常关闭,造成master端的僵尸进程

一、执行性能压测,执行日志提示Failed to create UDP port(UDP端口创建失败)

  1. 出现该问题,就是jmeter的slave进程监听端口被占用,导致不能使用该端口,报错如下
    Jmeter分布式执行报错解决方法汇总_第1张图片
  2. 解决方法,只需要修改master机器的jmeter.property文件,该配置文件在jmeter的bin目录下,默认配置只开放了10个端口范围给监听使用,只需要修改即可:
    Jmeter分布式执行报错解决方法汇总
  3. 修改成如下即可
    Jmeter分布式执行报错解决方法汇总
    二、执行性能压测,master日志执行一部分就卡住不动
  4. 异常界面如下,该任务执行过程,只显示了部分执行结果,不会顺利完成
    Jmeter分布式执行报错解决方法汇总_第2张图片
  5. 出现该问题,最大的可能就是slave进程被意外关闭了,比如内存不够用,导致异常关闭,master监听不到slave的消息,导致一直挂着
    Jmeter分布式执行报错解决方法汇总_第3张图片
  6. 首先在slave机通过netstat -anp|grep 1100,查看slave占用的端口是否正常,下图代表该端口未被占用,slave进程已经关闭了,所以导致master一直卡住不动,需要重新启动slave,重新压测,如果查看slave机器的jmeter-server.log日志有报内存溢出,就需要修改默认最大内存
    在这里插入图片描述
  7. 出现该问题时,master进程都不会关闭,一直会占用系统资源,windows可以直接关闭执行界面,linux页面执行就需要kill掉master进程

三、执行性能压测,master日志没有返回任何执行结果,slave有执行日志

  1. 异常界面如下,该任务执行过程,只显示了部分执行结果,不会顺利完成
    Jmeter分布式执行报错解决方法汇总_第4张图片
    在这里插入图片描述
  2. 出现该问题,首先查看slave机器的jmeter-server.log日志,在bin目录下,由日志可以看到提示连接169.254.217.204异常,查看本机ip,发现该ip是一块虚拟网卡,只需要禁用该网络连接即可
    Jmeter分布式执行报错解决方法汇总_第5张图片
    Jmeter分布式执行报错解决方法汇总_第6张图片
    Jmeter分布式执行报错解决方法汇总_第7张图片
  3. 再次执行分布式测试,master执行日志正常显示,报告正常生成
    Jmeter分布式执行报错解决方法汇总_第8张图片
  4. 首先要保证master机器和slave机器网络是通的,需要在master执行telnet 10.16.69.174 1100 ,ip为slave机器ip,端口为slave端设置的端口,如果能正常进入到命令界面,证明和slave端连接是通的
    在这里插入图片描述
    Jmeter分布式执行报错解决方法汇总_第9张图片
    四、执行性能压测,执行日志提示Engine is busy - please try later
  5. 报错界面如下
    Jmeter分布式执行报错解决方法汇总_第10张图片
  6. 出现该问题,就是slave被占用没有被释放,可能是master执行时没有正常关闭,导致slave一直被占用,只需要关闭slave服务,重新启动即可,操作命令如下,首先netstat -anp|grep 1100,查询出slave进程id,然后kill -9 id 即可 Jmeter分布式执行报错解决方法汇总_第11张图片


       如果文章对你有帮助,欢迎关注本人公众号,公众号与本平台文章同步,方便大家查阅,本人会持续推出与测试有关的文章,与大家分享测试技术,每一篇原创文章都是用心编写,杜绝抄袭复制


QQ技术交流群:加群请输入验证信息 51CTO
              Jmeter分布式执行报错解决方法汇总_第12张图片


微信二维码关注公众号:

            Jmeter分布式执行报错解决方法汇总_第13张图片


关注之后,回复资源下载,即可获取本人共享的各种资源下载地址

Jmeter分布式执行报错解决方法汇总_第14张图片