您的位置:首页 > 理论基础 > 计算机网络

JMeter报错:NoHTTPResponseException

2015-06-03 14:55 661 查看
同事性能测试时遇到随机的错误,但必现,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)

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

至于详细的分析,现在没有时间持续监控、抓包、测试和分析了。打个酱油记录一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: