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)
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 4, in user.properties set:
httpclient3.retrycount=0
Enabling stale check
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.