JMeter报错:NoHTTPResponseException

来源:互联网 发布:相似矩阵和等价矩阵 编辑:程序博客网 时间:2024/06/01 08:28

同事性能测试时遇到随机的错误,但必现,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)

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

 

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

0 0
原创粉丝点击