加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

jmeter http请求返回:java.net.SocketException: Connection reset

(2017-08-22 19:45:15)
分类: jmeter
在jmeter接口测试执行请求的过程中,出现如下问题,尝试了网上的各种配置方法:

 

java.net.SocketException: Connection reset 
 at ;" />  at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.;" />  at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.;" />  at 
com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.;" />  at 
com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.;" />  at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.;" />  at 
org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.;" />  at 
org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.;" />  at 
org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.;" />  at 
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.;" />  at 
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.;" />  at 
org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.;" />  at 
org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.;" />  at 
org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.;" />  at 
org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.;" />  at 
org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.;" />  at 
org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.;" />  at 
org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.;" />  at 
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.;" />  at 
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.;" />  at 
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.;" />  at 
org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.;" />  at 
org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.;" />  at 
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.;" />  at 
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.;" />  at 
org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.;" />  at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.;" />  at  

 

1、

  • Socket closed

Non HTTP response code: org.apache.http.NoHttpResponseException (the target server failed to respond)

资料查询:https://wiki.apache.org/jmeter/JMeterSocketClosed

问题原因:在JMeter下,发送http 请求时,一般都是默认选择了use keepAlive(这个是什么?看后面资料),这个是连接协议,JMeter坑就在这里,默认勾选了这个(如果不勾选的话,也不会保存),但其配置JMeter.properties中的时间设置默认却是注销的,也是是说,不会等待,一旦连接空闲,则立马断开了,导致我们压测中出现了事务失败的情形。

 

解决:修改httpclient4.idletimeout= 设置成自己觉得合理的时间,一般可设置成10-60s(表示连接空闲10s后才会断开),注意这边单位是ms。修改完成后再次压测,错误不再有了。

 

2、替换sdk版本

 

3、经过上述两种方法后,问题还是存在,后来与开发确认,是http请求的问题,我发的这个请求不会自动停止,需要手动结束的,所以他一直在发请求,手动停止后会报这个问题吧

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有