我得到java.net.SocketException:使用Jmeter运行负载测试时连接重置异常

Shr*_*ava 10 jmeter performance-testing socketexception

我在我的应用程序的登录页面上运行负载测试为100个用户中的100个用户正在传递休息80个用户即时获取以下异常,请帮我修复

java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(Unknown Source)
    at java.net.SocketInputStream.read(Unknown Source)
    at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:166)
    at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:90)
    at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:281)
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:92)
    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.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:505)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:328)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1141)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1130)
    at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:431)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:258)
    at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

Dmi*_*i T 14

我相信您面临自JMeter 2.10以来连接重置中描述的问题JMeter维基页面.如果您完全确定被测应用程序的行为是正确的,并且无需在后端进行调整或调整,则可以配置JMeter重试拒绝的连接并检查过时的连接:

  1. 将所有HTTP请求采样器的"实现"更改为HttpClient4.最简单的方法是使用HTTP Request Defaults配置元素.
  2. user.properties文件中添加以下属性,该文件位于JMeter安装的/ bin文件夹下:

    httpclient4.retrycount=1
    hc.parameters.file=hc.parameters
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将下一行添加到hc.parameters文件(相同位置,JMeter的/ bin文件夹)

    http.connection.stalecheck$Boolean=true
    
    Run Code Online (Sandbox Code Playgroud)
  4. 重启JMeter.

您的"连接重置"问题应该消失.

  • 嗨德米特里,我也遇到了上述问题.我已经完成了你提到的步骤,更新了Java 1.8并检查了请求是否正确但是仍然,我得到了同样的错误.请帮我解决. (2认同)