Jmeter——linux环境问题

3 篇文章 0 订阅
2 篇文章 0 订阅


Jmeter——linux环境问题

1.Error in rconfigure() method java.rmi.ConnectException:Connection refused to host
 问题分析:抛出的问题中,提示Java远程调用方法出现了异常,连接拒绝了master,可能是主机与奴隶机通信失去了联系
 解决办法:尝试把主机的 jmeter-server 与 奴隶机的 jmeter-server给重启下
2.Non HTTP response code: java.net.NoRouteToHostException/Non HTTP response message: Cannot assign requested address (Address not available)
 背景:多线程条件压测
 问题分析:看文字介绍说:不能够分配请求地址,可能端口已经占用了,导致地址不可用
 解决办法:经网上查资料, 是由于linux分配的客户端连接端口用尽, 无法建立socket连接所致,虽然socket正常关闭,但是端口不是立即释放, 而是处于TIME_WAIT状态, 默认等待60s后才释放。 查看linux支持的客户端连接端口范围, 也就是28232个端口:
cat  /proc/sys/net/ipv4/ip_local_port_range
32768 - 61000
 解决方法: 1. 调低端口释放后的等待时间, 默认为60s, 修改为15~30s echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout 2. 修改tcp/ip协议配置, 通过配置/proc/sys/net/ipv4/tcp_tw_resue, 默认为0, 修改为1, 释放TIME_WAIT端口给新连接使用。 echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse 3. 修改tcp/ip协议配置,快速回收socket资源, 默认为0, 修改为1. echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
 通过上面3项调整, 压力测试运行正常。
3.502/Bad Gateway

 背景:多线程或者高并发下压测情况下
 问题分析:可能是多线程请求的情况下,达到了ng配置的最大连接数,导致出现了502/bad geteway
 解决办法:降低线程数进行测试(实际需要与开发沟通,该接口与实际业务的最大处理能力)
4.Test failed: text expected to contain /200/

 解决办法:检查断言
5.java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z

 解决办法:mysql.jdbc驱动包版本过低,更新mysql驱动包即可,注意:此包在lib下,而不是lib/ext下
6.com.jcraft.jsch.JSchException: SSH_MSG_DISCONNECT: 2 Too many authentication failures

 背景:利用key进行ssh连接服务器的时候,无法连接上服务器的情况
 问题分析:可能是JSchException这个插件的问题,经过测试,发现一旦用key连接数到达一定量时,就必定会报错
 解决办法:重启Jmeter,重新连接下就好了(可能插件存在缺陷)
7.ERROR o.a.j.e.ClientJMeterEngine: 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: io.github.ningyu.jmeter.plugin.dubbo.sample.DubboSample (no security manager: RMI class loader disabled)

 背景:Jmeter分布式测试
 问题分析:进行分布式测试的时候,主机无法启动奴隶机
 解决办法:经排查,是节点机缺少dubbo插件的原因,把插件放上去,重启下奴隶机的jmeter-server即可
8.[Jmeter]CannotResolveClassException: kg.apc.jmeter.vizualizers.CorrectedResultCollector

 在jenkins上用maven方式压测的时候,提示无法加载这个类
 问题分析:检查jmx文件,发现新增的插件在maven环境中没有
 解决办法:要么把这个插件注入到maven仓库中,要么在jmx中删除这个插件,注意:一定要删除,而不是隐藏
9.[Jmeter]Engine is busy - please try later(引擎忙,请稍候再试)

 背景:运行分布式测试时报错
 问题分析:可能是主机与奴隶机的信息通信出了问题
 解决办法:重启奴隶机与宿主机的jmeter-server服务(重启服务后,记得重启Jmeter.bat)
10.[Jmeter]if控制器判断接口无法识别

 问题分析:if控制器只接收两个结果,true or false,可能是返回的结果不为true or false
 解决办法:利用Jmeter函数处理结果
比如:
${__groovy(1==1,)} -------->返回true
${__groovy(1==2,)} -------->返回false
11.[Jmeter]missing class com.thoughtworks.xstream.converters.ConversionException:

 背景:在执行jmeter jmx文件的时候,报错
 问题分析:可能是缺少了某个jar包
 解决办法:检查下脚本所用的到jar包是否存在于jmeter lib或者lib/ext中
12.[Jmeter]java.lang.ArrayIndexOutOfBoundsException: 0

 背景: 运行jmeter jmx任务的时候,直接报错
 问题分析:数组索引越界异常
 解决办法:贼坑,经过baidu,bing等多方面查询无果,看到日志中貌似有什么范围超限了,以为是Jmeter工具有内存缓存什么的,或者对这个jmeter脚本有缓存记录。最后只能把脚本部分内容复制并重新创建了一个脚本,运行后发现一切正常。赶紧翻看原来的脚本,发现了一个特别蛋疼的事情,不知道什么时候手误,把【测试计划】给注释了。尼玛,坑的我老泪纵横
13.[jmeter]Error in NonGUIDriver java.lang.IllegalArgumentException: Problem loading XML from:'/home/bjqa/apache-jmeter-3.0/bin/../project/realnameauthINFTest/RNA_INFtest.jmx', missing class com.thoughtworks.xstream.converters.ConversionException: kg.apc.jmeter.vizualizers.CorrectedResultCollector : kg.apc.jmeter.vizualizers.CorrectedResultCollector ---- Debugging information ----

 问题分析:这个可能是由于当前jmeter运行环境中缺少jar包导致的
 解决办法:测试计划的脚本尽量版本保持一致,或者添加对应的插件(比如:测试时用的脚本版本是5.1.1,那么在其他环境下运行的Jmeter脚本也尽量使用5.1.1)
14.[Jmeter]执行perfmon控制器监控jmx的时候,服务端代理日志(ServerAgent报错:java.lang.RuntimeException: Invalid metric specified: jmx)

解决办法:参考https://blog.csdn.net/warm77/article/details/80534625

http://bbs.51testing.com/forum.php?mod=viewthread&tid=1020124&ordertype=1

 先在服务机对应的tomcat配置文件中新增JAVA -D 参数 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1099

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值