JMeter报错:NoHTTPResponseException

同事性能测试时遇到随机的错误,但必现,JMeter报错“NoHTTPResponseException: The target server failed to respond.”。

答案在这个链接里面:https://wiki.apache.org/jmeter/JMeterSocketClosed

 

文中说:

Retry or stale check can hide issues onServer configuration:

·        Server failing to send the (optional) Keep-Alive header

·        Overwhelmed server refusing connection, retrying would increaseload

我的理解是:低版本(2.10以下)JMeter会隐藏上述两个服务器端的问题,所以高版本JMeter取消了原来的设置,使这两种错误可以暴露出来。

经过对HTTP Header的分析可以发现,同事的测试遇到的正是第一种情况:服务器没有返回keep-alive header。

为什么服务器没返回,这个需要查资料,看下Tomcat的配置或查看代码(按理Tomcat应该是默认开启能返回的)。

 

为了规避JMeter报这个错误,有几种解决办法可以试一试:

1) JMeter的请求设置为不需要keep-alive;已测试;

2) JMeter的设置恢复到老版本的设置;即会重连,和stale检查;根据找到的资料,说浏览器其实都是启用了这个设置的;

3) 使用JMeter新版本的一个临时设置:httpclient4.idletimeout;(2.12)

(后两者在上面的链接里都提到了)

 

至于详细的分析,现在没有时间持续监控、抓包、测试和分析了。打个酱油记录一下。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值