前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jmeter分布式执行报错解决方法汇总

Jmeter分布式执行报错解决方法汇总

作者头像
jmeter技术研究
发布2019-11-18 15:04:44
2K0
发布2019-11-18 15:04:44
举报

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

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

代码语言:javascript
复制
1. 出现该问题,就是jmeter的slave进程监听端口被占用,导致不能使用该端口,报错如下
代码语言:javascript
复制
2. 解决方法,只需要修改master机器的jmeter.property文件,该配置文件在jmeter的bin目录下,默认配置只开放了10个端口范围给监听使用,只需要修改即可:
代码语言:javascript
复制
#jmeterengine.nongui.port=4445
#
# If the initial port is busy, keep trying until this port is reached
# (to disable searching, set the value less than or equal to the .port property)
#jmeterengine.nongui.maxport=4455
代码语言:javascript
复制
3. 修改成如下即可
代码语言:javascript
复制
jmeterengine.nongui.port=4445
#
# If the initial port is busy, keep trying until this port is reached
# (to disable searching, set the value less than or equal to the .port property)
jmeterengine.nongui.maxport=4475

二、执行性能压测,master日志执行一部分就卡主不动

代码语言:javascript
复制
1. 异常界面如下,该任务执行过程,只显示了部分执行结果,不会顺利完成
代码语言:javascript
复制
2. 出现该问题,最大的可能就是slave进程被意外关闭了,比如内存不够用,导致异常关闭,master监听不到slave的消息,导致一直挂着
代码语言:javascript
复制
3. 首先在slave机通过netstat -anp|grep 1100,查看slave占用的端口是否正常,下图代表该端口未被占用,slave进程已经关闭了,所以导致master一直卡住不动,需要重新启动slave,重新压测,如果查看slave机器的jmeter-server.log日志有报内存溢出,就需要修改默认最大内存
代码语言:javascript
复制
4. 出现该问题时,master进程都不会关闭,一直会占用系统资源,windows可以直接关闭执行界面,linux页面执行就需要kill掉master进程

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

代码语言:javascript
复制
1. 异常界面如下,该任务执行过程,只显示了部分执行结果,不会顺利完成
代码语言:javascript
复制
2. 出现该问题,首先查看slave机器的jmeter-server.log日志,在bin目录下,由日志可以看到提示连接169.254.217.204异常,查看本机ip,发现该ip是一块虚拟网卡,只需要禁用该网络连接即可
代码语言:javascript
复制
3. 再次执行分布式测试,master执行日志正常显示,报告正常生成
代码语言:javascript
复制
4. 首先要保证master机器和slave机器网络是通的,需要在master执行telnet 10.16.69.174 1100 ,ip为slave机器ip,端口为slave端设置的端口,如果能正常进入到命令界面,证明和slave端连接是通的

四、执行性能压测,执行日志提示Engine is busy - please try later

代码语言:javascript
复制
1. 报错界面如下
代码语言:javascript
复制
2. 出现该问题,就是slave被占用没有被释放,可能是master执行时没有正常关闭,导致slave一直被占用,只需要关闭slave服务,重新启动即可,操作命令如下,首先netstat -anp|grep 1100,查询出slave进程id,然后kill -9 id 即可
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 jmeter相关技术交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档