Connection Reset since JMeter 2.10 ?
If you upgraded recently to JMeter 2.10 or 2.11, you may have noticed increased errors of this type:
- Socket closed
- Non HTTP response code: org.apache.http.NoHttpResponseException (the target server failed to respond)
Note that article is about increase in this type of errors.
Explanation
The increase of this type of errors can be explained by two settings changes:
- retry of failing request (idempotent) has been disabled in JMeter 2.10
- stale check in HTTP Client 3 and 4 implementations has been disabled in JMeter 2.11
Why these changes?
Previous retry default settings led to increased number of Requests in certain type of failures Previous stale check was a bit expensive, as it applied to every sample.
That is why the default was changed to disable it.
Retry or stale check can hide issues on Server configuration:
- Server failing to handle correctly Keep-Alive header
- Overwhelmed server refusing connection, retrying can increase load
Changing configuration:
If you think this server behaviour is OK, then configuration can be changed in two places:
Enabling retry
For HttpClient 4, in user.properties set :
- httpclient4.retrycount=0
For HttpClient 3, in user.properties set:
- httpclient3.retrycount=0
Enabling stale check
For HC4 Implementation:
In user.properties:
- hc.parameters.file=hc.parameters
In hc.parameters set:
- http.connection.stalecheck$Boolean=true
For HC3 Implementation:
In user.properties:
- httpclient.parameters.file=httpclient.parameters
In httpclient.parameters set:
- http.connection.stalecheck$Boolean=true
New setting in JMeter 2.12
Upcoming version of JMeter will add a setting to add connection timeout if the server does not send Keep-Alive headers.
This value is in milliseconds:
- httpclient4.idletimeout=<>
Interesting links:
- https://issues.apache.org/bugzilla/show_bug.cgi?id=56119
- http://stackoverflow.com/questions/4798461/cneonction-and-nncoection-http-headers
Author:
Philippe M.