设为首页 收藏本站
查看: 1949|回复: 0

[经验分享] Jmeter返回org.apache.http.NoHttpResponseException: The target server failed to res

[复制链接]

尚未签到

发表于 2017-12-24 15:35:56 | 显示全部楼层 |阅读模式
  1、问题:这段时间使用jmeter压测时(300个请求,持续压300s,加速期10s),压力平稳时偶然错误,部分请求失败事务报错信息如下
  org.apache.http.NoHttpResponseException: The target server failed to respond
  at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:95)                     
  at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:61)                     
  at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)                     
  at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)                     
  at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)                     
  at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191)                     
  at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.receiveResponseHeader(MeasuringConnectionManager.java:201)                     
  at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)                     
  at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)                     
  at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:715)                     
  at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:520)                     
  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)                     
  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)                     
  at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:517)                     
  at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:331)                     
  at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)                     
  at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1146)                     
  at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1135)                     
  at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:434)                     
  at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:261)                     
  at java.lang.Thread.run(Unknown Source)
  2、原因:在JMeter下,发送http 请求时,默认选择了use keepAlive(Keep-Alive通俗地讲,就是所谓的持久连接,对于http这种大量的短连接的服务来说,开启持久连接的好处可节省大量的TCP连接过程的开销,据apache的官方文档称对包含大量图片的HTML文档造成的延时起到50%的加速作用),这个是连接协议,JMeter坑就在这里,默认勾选了这个(如果不勾选的话,也不会保存),但其配置JMeter.properties中的时间设置默认却是注销的,不会等待,一旦连接空闲,则立即断开了,导致压测中出现了事务失败的情形。
  可访问https://wiki.apache.org/jmeter/JMeterSocketClosed查看官网解释
  3、解决方法:
  找到jmeter安装路径D:\apache-jmeter-3.2\bin下的jmeter.properties,编辑,设置httpclient4.idletimeout=<time in ms>,注意单位是ms,设置成觉得合理的时间,一般可设置成10-60s(表示连接空闲10s后才会断开)。修改完成后再次压测,错误就没出现。
  例:httpclient4.idletimeout=3000,意思是连接空闲3s才会断开
  4、KeepAlive
  日常在浏览器查看请求头也可看到KeepAlive,本章重点不在这里,有兴趣可参考
  http://blog.csdn.net/gaoshanliushui2009/article/details/8020240
  http://liuzhigong.blog.163.com/blog/static/1782723752011412551547/
DSC0000.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-427543-1-1.html 上篇帖子: 晴天的世界s 下篇帖子: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表