Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
Hello Oleg, We have one enabled using: new DefaultHttpRequestRetryHandler(RETRY_COUNT, false) RETRY_COUNT is set to 0 by default but can be changed. Do you mean we should not set it to 0 ? Regards Philippe On Sat, Feb 15, 2014 at 4:39 PM, Oleg Kalnichevski ol...@apache.org wrote: On Sat, 2014-02-15 at 16:01 +0100, Philippe Mouawad wrote: By default we disable retry but it can be controlled by a parameter. I have say you may want to have a retry handler enabled by default if the stale check is off. At the very least you may want to retry idempotent requests or some specific type of exceptions (like 'server failed to respond'). Oleg Thanks for the info on ConnectionReuseStrategy, it will be a way to handle these kind of issues. Regards On Sat, Feb 15, 2014 at 3:12 PM, Oleg Kalnichevski ol...@apache.orgjavascript:_e(%7B%7D,'cvml','ol...@apache.org'); wrote: On Sat, 2014-02-15 at 14:46 +0100, Philippe Mouawad wrote: Hello Oleg, The problem is that is seems in this particular case, removing this check it leads to 50% error. What kind of HttpRequestRetryHandler implementation does JMeter 2.11 use? Usually with the stale check disabled one should want to retry at least some requests automatically. I could be explained by a max number of requests per connection setting, as per their documentation: - http://aws.amazon.com/articles/1904 Also, don't overuse a connection. Amazon S3 will accept up to 100 requests before it closes a connection (resulting in 'connection reset'). Rather than having this happen, use a connection for 80-90 requests before closing and re-opening a new connection. Is there by the way a configuration parameter in HttpClient to limit the number of requests per connection ? There is no parameter but one can use a custom ConnectionReuseStrategy to that effect --- ConnectionReuseStrategy reuseStrategy = new DefaultConnectionReuseStrategy() { @Override public boolean keepAlive( final HttpResponse response, final HttpContext context) { HttpConnection conn = (HttpConnection) context.getAttribute(HttpClientContext.HTTP_CONNECTION); long count = conn.getMetrics().getRequestCount(); if (count = 100) { return false; } return super.keepAlive(response, context); } }; --- Hope this helps Oleg Thanks Regards Philippe On Sat, Feb 15, 2014 at 12:49 PM, Oleg Kalnichevski ol...@apache.orgjavascript:_e(%7B%7D,'cvml','ol...@apache.org'); wrote: On Sat, 2014-02-15 at 11:23 +0100, Philippe Mouawad wrote: Hello , yes that's it. regards Then, I am not sure I understand the problem. The stale connection check is about trading off some performance for fewer i/o errors or visa versa. Oleg On Saturday, February 15, 2014, Oleg Kalnichevski o...@ok2consulting.comjavascript:_e(%7B%7D,'cvml',' o...@ok2consulting.com'); wrote: On Fri, 2014-02-14 at 15:42 +0100, Philippe Mouawad wrote: Hello Oleg, We set this configuration in JMeter 2.11, we got recently this bug report related to this change: https://issues.apache.org/bugzilla/show_bug.cgi?id=56119 This issue seems to be faced by another person: https://twitter.com/cfwhisperer/status/428278488349417472 Regards Philippe Philippe I am not sure I remember the context. Is it about turning off stale connection checking? Oleg On Wed, Dec 11, 2013 at 9:50 AM, Oleg Kalnichevski ol...@apache.org javascript:_e(%7B%7D,'cvml','ol...@apache.org'); javascript:; wrote: On Tue, 2013-12-10 at 21:38 +0100, Philippe Mouawad wrote: Hello Oleg, Thanks for answer. Wouldn't it be interesting to add some threshold or delay between each check instead of doing check on each request ? Regards Philippe Philippe I am not sure it is worth the trouble. In most circumstances the stale connection check should be turned off anyway. I think it just needs to be better documented. Oleg On Mon, Dec 9, 2013 at 11:59 AM, Oleg Kalnichevski ol...@apache.org javascript:_e(%7B%7D,'cvml','ol...@apache.org '); javascript:; wrote: On Sun, 2013-12-08 at 21:32 +0100, Philippe Mouawad wrote: Hello, Profiling JMeter, I noticed an important number of SocketTimeoutException being triggered
Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
On Sun, 2014-02-16 at 14:15 +0100, Philippe Mouawad wrote: Hello Oleg, We have one enabled using: new DefaultHttpRequestRetryHandler(RETRY_COUNT, false) RETRY_COUNT is set to 0 by default but can be changed. Do you mean we should not set it to 0 ? This obviously needs to be a positive number if you want requests retried automatically. Oleg - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org
Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
On Fri, 2014-02-14 at 15:42 +0100, Philippe Mouawad wrote: Hello Oleg, We set this configuration in JMeter 2.11, we got recently this bug report related to this change: https://issues.apache.org/bugzilla/show_bug.cgi?id=56119 This issue seems to be faced by another person: https://twitter.com/cfwhisperer/status/428278488349417472 Regards Philippe Philippe I am not sure I remember the context. Is it about turning off stale connection checking? Oleg On Wed, Dec 11, 2013 at 9:50 AM, Oleg Kalnichevski ol...@apache.org wrote: On Tue, 2013-12-10 at 21:38 +0100, Philippe Mouawad wrote: Hello Oleg, Thanks for answer. Wouldn't it be interesting to add some threshold or delay between each check instead of doing check on each request ? Regards Philippe Philippe I am not sure it is worth the trouble. In most circumstances the stale connection check should be turned off anyway. I think it just needs to be better documented. Oleg On Mon, Dec 9, 2013 at 11:59 AM, Oleg Kalnichevski ol...@apache.org wrote: On Sun, 2013-12-08 at 21:32 +0100, Philippe Mouawad wrote: Hello, Profiling JMeter, I noticed an important number of SocketTimeoutException being triggered without any impact on response status. I investigated it a bit deeper and find out it affected only HttpClient implementations. Looking a bit deeper, it is due to connection stale check which is enabled by default. This check sets a timeout to 1ms , see : - org.apache.http.impl.io.SocketInputBuffer#isDataAvailable - org.apache.http.impl.AbstractHttpClientConnection#isStale Is this the only and best way to check for stale connection ? Regards Philippe Philippe I personally do not know of a different (better) way of finding out whether or not a blocking connection is still valid. Oleg - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org
Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
Hello , yes that's it. regards On Saturday, February 15, 2014, Oleg Kalnichevski o...@ok2consulting.com wrote: On Fri, 2014-02-14 at 15:42 +0100, Philippe Mouawad wrote: Hello Oleg, We set this configuration in JMeter 2.11, we got recently this bug report related to this change: https://issues.apache.org/bugzilla/show_bug.cgi?id=56119 This issue seems to be faced by another person: https://twitter.com/cfwhisperer/status/428278488349417472 Regards Philippe Philippe I am not sure I remember the context. Is it about turning off stale connection checking? Oleg On Wed, Dec 11, 2013 at 9:50 AM, Oleg Kalnichevski ol...@apache.orgjavascript:; wrote: On Tue, 2013-12-10 at 21:38 +0100, Philippe Mouawad wrote: Hello Oleg, Thanks for answer. Wouldn't it be interesting to add some threshold or delay between each check instead of doing check on each request ? Regards Philippe Philippe I am not sure it is worth the trouble. In most circumstances the stale connection check should be turned off anyway. I think it just needs to be better documented. Oleg On Mon, Dec 9, 2013 at 11:59 AM, Oleg Kalnichevski ol...@apache.orgjavascript:; wrote: On Sun, 2013-12-08 at 21:32 +0100, Philippe Mouawad wrote: Hello, Profiling JMeter, I noticed an important number of SocketTimeoutException being triggered without any impact on response status. I investigated it a bit deeper and find out it affected only HttpClient implementations. Looking a bit deeper, it is due to connection stale check which is enabled by default. This check sets a timeout to 1ms , see : - org.apache.http.impl.io.SocketInputBuffer#isDataAvailable - org.apache.http.impl.AbstractHttpClientConnection#isStale Is this the only and best way to check for stale connection ? Regards Philippe Philippe I personally do not know of a different (better) way of finding out whether or not a blocking connection is still valid. Oleg - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.orgjavascript:; For additional commands, e-mail: httpclient-users-h...@hc.apache.org javascript:; - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.orgjavascript:; For additional commands, e-mail: httpclient-users-h...@hc.apache.orgjavascript:; - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.orgjavascript:; For additional commands, e-mail: httpclient-users-h...@hc.apache.orgjavascript:; -- Cordialement. Philippe Mouawad.
Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
On Sat, 2014-02-15 at 11:23 +0100, Philippe Mouawad wrote: Hello , yes that's it. regards Then, I am not sure I understand the problem. The stale connection check is about trading off some performance for fewer i/o errors or visa versa. Oleg On Saturday, February 15, 2014, Oleg Kalnichevski o...@ok2consulting.com wrote: On Fri, 2014-02-14 at 15:42 +0100, Philippe Mouawad wrote: Hello Oleg, We set this configuration in JMeter 2.11, we got recently this bug report related to this change: https://issues.apache.org/bugzilla/show_bug.cgi?id=56119 This issue seems to be faced by another person: https://twitter.com/cfwhisperer/status/428278488349417472 Regards Philippe Philippe I am not sure I remember the context. Is it about turning off stale connection checking? Oleg On Wed, Dec 11, 2013 at 9:50 AM, Oleg Kalnichevski ol...@apache.orgjavascript:; wrote: On Tue, 2013-12-10 at 21:38 +0100, Philippe Mouawad wrote: Hello Oleg, Thanks for answer. Wouldn't it be interesting to add some threshold or delay between each check instead of doing check on each request ? Regards Philippe Philippe I am not sure it is worth the trouble. In most circumstances the stale connection check should be turned off anyway. I think it just needs to be better documented. Oleg On Mon, Dec 9, 2013 at 11:59 AM, Oleg Kalnichevski ol...@apache.orgjavascript:; wrote: On Sun, 2013-12-08 at 21:32 +0100, Philippe Mouawad wrote: Hello, Profiling JMeter, I noticed an important number of SocketTimeoutException being triggered without any impact on response status. I investigated it a bit deeper and find out it affected only HttpClient implementations. Looking a bit deeper, it is due to connection stale check which is enabled by default. This check sets a timeout to 1ms , see : - org.apache.http.impl.io.SocketInputBuffer#isDataAvailable - org.apache.http.impl.AbstractHttpClientConnection#isStale Is this the only and best way to check for stale connection ? Regards Philippe Philippe I personally do not know of a different (better) way of finding out whether or not a blocking connection is still valid. Oleg - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.orgjavascript:; For additional commands, e-mail: httpclient-users-h...@hc.apache.org javascript:; - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.orgjavascript:; For additional commands, e-mail: httpclient-users-h...@hc.apache.orgjavascript:; - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.orgjavascript:; For additional commands, e-mail: httpclient-users-h...@hc.apache.orgjavascript:; - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org
Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
Hello Oleg, The problem is that is seems in this particular case, removing this check it leads to 50% error. I could be explained by a max number of requests per connection setting, as per their documentation: - http://aws.amazon.com/articles/1904 Also, don't overuse a connection. Amazon S3 will accept up to 100 requests before it closes a connection (resulting in 'connection reset'). Rather than having this happen, use a connection for 80-90 requests before closing and re-opening a new connection. Is there by the way a configuration parameter in HttpClient to limit the number of requests per connection ? Thanks Regards Philippe On Sat, Feb 15, 2014 at 12:49 PM, Oleg Kalnichevski ol...@apache.orgwrote: On Sat, 2014-02-15 at 11:23 +0100, Philippe Mouawad wrote: Hello , yes that's it. regards Then, I am not sure I understand the problem. The stale connection check is about trading off some performance for fewer i/o errors or visa versa. Oleg On Saturday, February 15, 2014, Oleg Kalnichevski o...@ok2consulting.com wrote: On Fri, 2014-02-14 at 15:42 +0100, Philippe Mouawad wrote: Hello Oleg, We set this configuration in JMeter 2.11, we got recently this bug report related to this change: https://issues.apache.org/bugzilla/show_bug.cgi?id=56119 This issue seems to be faced by another person: https://twitter.com/cfwhisperer/status/428278488349417472 Regards Philippe Philippe I am not sure I remember the context. Is it about turning off stale connection checking? Oleg On Wed, Dec 11, 2013 at 9:50 AM, Oleg Kalnichevski ol...@apache.org javascript:; wrote: On Tue, 2013-12-10 at 21:38 +0100, Philippe Mouawad wrote: Hello Oleg, Thanks for answer. Wouldn't it be interesting to add some threshold or delay between each check instead of doing check on each request ? Regards Philippe Philippe I am not sure it is worth the trouble. In most circumstances the stale connection check should be turned off anyway. I think it just needs to be better documented. Oleg On Mon, Dec 9, 2013 at 11:59 AM, Oleg Kalnichevski ol...@apache.orgjavascript:; wrote: On Sun, 2013-12-08 at 21:32 +0100, Philippe Mouawad wrote: Hello, Profiling JMeter, I noticed an important number of SocketTimeoutException being triggered without any impact on response status. I investigated it a bit deeper and find out it affected only HttpClient implementations. Looking a bit deeper, it is due to connection stale check which is enabled by default. This check sets a timeout to 1ms , see : - org.apache.http.impl.io.SocketInputBuffer#isDataAvailable - org.apache.http.impl.AbstractHttpClientConnection#isStale Is this the only and best way to check for stale connection ? Regards Philippe Philippe I personally do not know of a different (better) way of finding out whether or not a blocking connection is still valid. Oleg - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.orgjavascript:; For additional commands, e-mail: httpclient-users-h...@hc.apache.org javascript:; - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org javascript:; For additional commands, e-mail: httpclient-users-h...@hc.apache.orgjavascript:; - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org javascript:; For additional commands, e-mail: httpclient-users-h...@hc.apache.org javascript:; -- Cordialement. Philippe Mouawad.
Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
On Sat, 2014-02-15 at 14:46 +0100, Philippe Mouawad wrote: Hello Oleg, The problem is that is seems in this particular case, removing this check it leads to 50% error. What kind of HttpRequestRetryHandler implementation does JMeter 2.11 use? Usually with the stale check disabled one should want to retry at least some requests automatically. I could be explained by a max number of requests per connection setting, as per their documentation: - http://aws.amazon.com/articles/1904 Also, don't overuse a connection. Amazon S3 will accept up to 100 requests before it closes a connection (resulting in 'connection reset'). Rather than having this happen, use a connection for 80-90 requests before closing and re-opening a new connection. Is there by the way a configuration parameter in HttpClient to limit the number of requests per connection ? There is no parameter but one can use a custom ConnectionReuseStrategy to that effect --- ConnectionReuseStrategy reuseStrategy = new DefaultConnectionReuseStrategy() { @Override public boolean keepAlive( final HttpResponse response, final HttpContext context) { HttpConnection conn = (HttpConnection) context.getAttribute(HttpClientContext.HTTP_CONNECTION); long count = conn.getMetrics().getRequestCount(); if (count = 100) { return false; } return super.keepAlive(response, context); } }; --- Hope this helps Oleg Thanks Regards Philippe On Sat, Feb 15, 2014 at 12:49 PM, Oleg Kalnichevski ol...@apache.orgwrote: On Sat, 2014-02-15 at 11:23 +0100, Philippe Mouawad wrote: Hello , yes that's it. regards Then, I am not sure I understand the problem. The stale connection check is about trading off some performance for fewer i/o errors or visa versa. Oleg On Saturday, February 15, 2014, Oleg Kalnichevski o...@ok2consulting.com wrote: On Fri, 2014-02-14 at 15:42 +0100, Philippe Mouawad wrote: Hello Oleg, We set this configuration in JMeter 2.11, we got recently this bug report related to this change: https://issues.apache.org/bugzilla/show_bug.cgi?id=56119 This issue seems to be faced by another person: https://twitter.com/cfwhisperer/status/428278488349417472 Regards Philippe Philippe I am not sure I remember the context. Is it about turning off stale connection checking? Oleg On Wed, Dec 11, 2013 at 9:50 AM, Oleg Kalnichevski ol...@apache.org javascript:; wrote: On Tue, 2013-12-10 at 21:38 +0100, Philippe Mouawad wrote: Hello Oleg, Thanks for answer. Wouldn't it be interesting to add some threshold or delay between each check instead of doing check on each request ? Regards Philippe Philippe I am not sure it is worth the trouble. In most circumstances the stale connection check should be turned off anyway. I think it just needs to be better documented. Oleg On Mon, Dec 9, 2013 at 11:59 AM, Oleg Kalnichevski ol...@apache.orgjavascript:; wrote: On Sun, 2013-12-08 at 21:32 +0100, Philippe Mouawad wrote: Hello, Profiling JMeter, I noticed an important number of SocketTimeoutException being triggered without any impact on response status. I investigated it a bit deeper and find out it affected only HttpClient implementations. Looking a bit deeper, it is due to connection stale check which is enabled by default. This check sets a timeout to 1ms , see : - org.apache.http.impl.io.SocketInputBuffer#isDataAvailable - org.apache.http.impl.AbstractHttpClientConnection#isStale Is this the only and best way to check for stale connection ? Regards Philippe Philippe I personally do not know of a different (better) way of finding out whether or not a blocking connection is still valid. Oleg - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.orgjavascript:; For additional commands, e-mail: httpclient-users-h...@hc.apache.org javascript:; - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org javascript:; For additional commands, e-mail: httpclient-users-h...@hc.apache.orgjavascript:; - To unsubscribe, e-mail:
Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
Also remember that JMeter has a Use keepalive option on the HTTP Sampler GUI. If unchecked, JMeter will send Connection: close (or equivalent) as part of the request. [This does not work reliably for Java HTTP because the connections may be pooled] On 15 February 2014 15:01, Philippe Mouawad philippe.moua...@gmail.com wrote: By default we disable retry but it can be controlled by a parameter. Thanks for the info on ConnectionReuseStrategy, it will be a way to handle these kind of issues. Regards On Sat, Feb 15, 2014 at 3:12 PM, Oleg Kalnichevski ol...@apache.orgjavascript:_e(%7B%7D,'cvml','ol...@apache.org'); wrote: On Sat, 2014-02-15 at 14:46 +0100, Philippe Mouawad wrote: Hello Oleg, The problem is that is seems in this particular case, removing this check it leads to 50% error. What kind of HttpRequestRetryHandler implementation does JMeter 2.11 use? Usually with the stale check disabled one should want to retry at least some requests automatically. I could be explained by a max number of requests per connection setting, as per their documentation: - http://aws.amazon.com/articles/1904 Also, don't overuse a connection. Amazon S3 will accept up to 100 requests before it closes a connection (resulting in 'connection reset'). Rather than having this happen, use a connection for 80-90 requests before closing and re-opening a new connection. Is there by the way a configuration parameter in HttpClient to limit the number of requests per connection ? There is no parameter but one can use a custom ConnectionReuseStrategy to that effect --- ConnectionReuseStrategy reuseStrategy = new DefaultConnectionReuseStrategy() { @Override public boolean keepAlive( final HttpResponse response, final HttpContext context) { HttpConnection conn = (HttpConnection) context.getAttribute(HttpClientContext.HTTP_CONNECTION); long count = conn.getMetrics().getRequestCount(); if (count = 100) { return false; } return super.keepAlive(response, context); } }; --- Hope this helps Oleg Thanks Regards Philippe On Sat, Feb 15, 2014 at 12:49 PM, Oleg Kalnichevski ol...@apache.orgjavascript:_e(%7B%7D,'cvml','ol...@apache.org'); wrote: On Sat, 2014-02-15 at 11:23 +0100, Philippe Mouawad wrote: Hello , yes that's it. regards Then, I am not sure I understand the problem. The stale connection check is about trading off some performance for fewer i/o errors or visa versa. Oleg On Saturday, February 15, 2014, Oleg Kalnichevski o...@ok2consulting.comjavascript:_e(%7B%7D,'cvml','o...@ok2consulting.com'); wrote: On Fri, 2014-02-14 at 15:42 +0100, Philippe Mouawad wrote: Hello Oleg, We set this configuration in JMeter 2.11, we got recently this bug report related to this change: https://issues.apache.org/bugzilla/show_bug.cgi?id=56119 This issue seems to be faced by another person: https://twitter.com/cfwhisperer/status/428278488349417472 Regards Philippe Philippe I am not sure I remember the context. Is it about turning off stale connection checking? Oleg On Wed, Dec 11, 2013 at 9:50 AM, Oleg Kalnichevski ol...@apache.org javascript:_e(%7B%7D,'cvml','ol...@apache.org'); javascript:; wrote: On Tue, 2013-12-10 at 21:38 +0100, Philippe Mouawad wrote: Hello Oleg, Thanks for answer. Wouldn't it be interesting to add some threshold or delay between each check instead of doing check on each request ? Regards Philippe Philippe I am not sure it is worth the trouble. In most circumstances the stale connection check should be turned off anyway. I think it just needs to be better documented. Oleg On Mon, Dec 9, 2013 at 11:59 AM, Oleg Kalnichevski ol...@apache.org javascript:_e(%7B%7D,'cvml','ol...@apache.org'); javascript:; wrote: On Sun, 2013-12-08 at 21:32 +0100, Philippe Mouawad wrote: Hello, Profiling JMeter, I noticed an important number of SocketTimeoutException being triggered without any impact on response status. I investigated it a bit deeper and find out it affected only HttpClient implementations. Looking a bit deeper, it is due to connection stale check which is enabled by default. This check sets a timeout to 1ms , see : - org.apache.http.impl.io.SocketInputBuffer#isDataAvailable - org.apache.http.impl.AbstractHttpClientConnection#isStale Is this the only and best way to check for stale
Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
On Sat, 2014-02-15 at 16:01 +0100, Philippe Mouawad wrote: By default we disable retry but it can be controlled by a parameter. I have say you may want to have a retry handler enabled by default if the stale check is off. At the very least you may want to retry idempotent requests or some specific type of exceptions (like 'server failed to respond'). Oleg Thanks for the info on ConnectionReuseStrategy, it will be a way to handle these kind of issues. Regards On Sat, Feb 15, 2014 at 3:12 PM, Oleg Kalnichevski ol...@apache.orgjavascript:_e(%7B%7D,'cvml','ol...@apache.org'); wrote: On Sat, 2014-02-15 at 14:46 +0100, Philippe Mouawad wrote: Hello Oleg, The problem is that is seems in this particular case, removing this check it leads to 50% error. What kind of HttpRequestRetryHandler implementation does JMeter 2.11 use? Usually with the stale check disabled one should want to retry at least some requests automatically. I could be explained by a max number of requests per connection setting, as per their documentation: - http://aws.amazon.com/articles/1904 Also, don't overuse a connection. Amazon S3 will accept up to 100 requests before it closes a connection (resulting in 'connection reset'). Rather than having this happen, use a connection for 80-90 requests before closing and re-opening a new connection. Is there by the way a configuration parameter in HttpClient to limit the number of requests per connection ? There is no parameter but one can use a custom ConnectionReuseStrategy to that effect --- ConnectionReuseStrategy reuseStrategy = new DefaultConnectionReuseStrategy() { @Override public boolean keepAlive( final HttpResponse response, final HttpContext context) { HttpConnection conn = (HttpConnection) context.getAttribute(HttpClientContext.HTTP_CONNECTION); long count = conn.getMetrics().getRequestCount(); if (count = 100) { return false; } return super.keepAlive(response, context); } }; --- Hope this helps Oleg Thanks Regards Philippe On Sat, Feb 15, 2014 at 12:49 PM, Oleg Kalnichevski ol...@apache.orgjavascript:_e(%7B%7D,'cvml','ol...@apache.org'); wrote: On Sat, 2014-02-15 at 11:23 +0100, Philippe Mouawad wrote: Hello , yes that's it. regards Then, I am not sure I understand the problem. The stale connection check is about trading off some performance for fewer i/o errors or visa versa. Oleg On Saturday, February 15, 2014, Oleg Kalnichevski o...@ok2consulting.comjavascript:_e(%7B%7D,'cvml','o...@ok2consulting.com'); wrote: On Fri, 2014-02-14 at 15:42 +0100, Philippe Mouawad wrote: Hello Oleg, We set this configuration in JMeter 2.11, we got recently this bug report related to this change: https://issues.apache.org/bugzilla/show_bug.cgi?id=56119 This issue seems to be faced by another person: https://twitter.com/cfwhisperer/status/428278488349417472 Regards Philippe Philippe I am not sure I remember the context. Is it about turning off stale connection checking? Oleg On Wed, Dec 11, 2013 at 9:50 AM, Oleg Kalnichevski ol...@apache.org javascript:_e(%7B%7D,'cvml','ol...@apache.org'); javascript:; wrote: On Tue, 2013-12-10 at 21:38 +0100, Philippe Mouawad wrote: Hello Oleg, Thanks for answer. Wouldn't it be interesting to add some threshold or delay between each check instead of doing check on each request ? Regards Philippe Philippe I am not sure it is worth the trouble. In most circumstances the stale connection check should be turned off anyway. I think it just needs to be better documented. Oleg On Mon, Dec 9, 2013 at 11:59 AM, Oleg Kalnichevski ol...@apache.org javascript:_e(%7B%7D,'cvml','ol...@apache.org'); javascript:; wrote: On Sun, 2013-12-08 at 21:32 +0100, Philippe Mouawad wrote: Hello, Profiling JMeter, I noticed an important number of SocketTimeoutException being triggered without any impact on response status. I investigated it a bit deeper and find out it affected only HttpClient implementations. Looking a bit deeper, it is due to connection stale check which is enabled by default. This check sets a timeout to 1ms , see : - org.apache.http.impl.io.SocketInputBuffer#isDataAvailable -
Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
Hello Oleg, We set this configuration in JMeter 2.11, we got recently this bug report related to this change: https://issues.apache.org/bugzilla/show_bug.cgi?id=56119 This issue seems to be faced by another person: https://twitter.com/cfwhisperer/status/428278488349417472 Regards Philippe On Wed, Dec 11, 2013 at 9:50 AM, Oleg Kalnichevski ol...@apache.org wrote: On Tue, 2013-12-10 at 21:38 +0100, Philippe Mouawad wrote: Hello Oleg, Thanks for answer. Wouldn't it be interesting to add some threshold or delay between each check instead of doing check on each request ? Regards Philippe Philippe I am not sure it is worth the trouble. In most circumstances the stale connection check should be turned off anyway. I think it just needs to be better documented. Oleg On Mon, Dec 9, 2013 at 11:59 AM, Oleg Kalnichevski ol...@apache.org wrote: On Sun, 2013-12-08 at 21:32 +0100, Philippe Mouawad wrote: Hello, Profiling JMeter, I noticed an important number of SocketTimeoutException being triggered without any impact on response status. I investigated it a bit deeper and find out it affected only HttpClient implementations. Looking a bit deeper, it is due to connection stale check which is enabled by default. This check sets a timeout to 1ms , see : - org.apache.http.impl.io.SocketInputBuffer#isDataAvailable - org.apache.http.impl.AbstractHttpClientConnection#isStale Is this the only and best way to check for stale connection ? Regards Philippe Philippe I personally do not know of a different (better) way of finding out whether or not a blocking connection is still valid. Oleg - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org -- Cordialement. Philippe Mouawad.
Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
On Tue, 2013-12-10 at 21:38 +0100, Philippe Mouawad wrote: Hello Oleg, Thanks for answer. Wouldn't it be interesting to add some threshold or delay between each check instead of doing check on each request ? Regards Philippe Philippe I am not sure it is worth the trouble. In most circumstances the stale connection check should be turned off anyway. I think it just needs to be better documented. Oleg On Mon, Dec 9, 2013 at 11:59 AM, Oleg Kalnichevski ol...@apache.org wrote: On Sun, 2013-12-08 at 21:32 +0100, Philippe Mouawad wrote: Hello, Profiling JMeter, I noticed an important number of SocketTimeoutException being triggered without any impact on response status. I investigated it a bit deeper and find out it affected only HttpClient implementations. Looking a bit deeper, it is due to connection stale check which is enabled by default. This check sets a timeout to 1ms , see : - org.apache.http.impl.io.SocketInputBuffer#isDataAvailable - org.apache.http.impl.AbstractHttpClientConnection#isStale Is this the only and best way to check for stale connection ? Regards Philippe Philippe I personally do not know of a different (better) way of finding out whether or not a blocking connection is still valid. Oleg - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org
Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
Hello Oleg, Thanks for answer. Wouldn't it be interesting to add some threshold or delay between each check instead of doing check on each request ? Regards Philippe On Mon, Dec 9, 2013 at 11:59 AM, Oleg Kalnichevski ol...@apache.org wrote: On Sun, 2013-12-08 at 21:32 +0100, Philippe Mouawad wrote: Hello, Profiling JMeter, I noticed an important number of SocketTimeoutException being triggered without any impact on response status. I investigated it a bit deeper and find out it affected only HttpClient implementations. Looking a bit deeper, it is due to connection stale check which is enabled by default. This check sets a timeout to 1ms , see : - org.apache.http.impl.io.SocketInputBuffer#isDataAvailable - org.apache.http.impl.AbstractHttpClientConnection#isStale Is this the only and best way to check for stale connection ? Regards Philippe Philippe I personally do not know of a different (better) way of finding out whether or not a blocking connection is still valid. Oleg - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org -- Cordialement. Philippe Mouawad.
Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
On Sun, 2013-12-08 at 21:32 +0100, Philippe Mouawad wrote: Hello, Profiling JMeter, I noticed an important number of SocketTimeoutException being triggered without any impact on response status. I investigated it a bit deeper and find out it affected only HttpClient implementations. Looking a bit deeper, it is due to connection stale check which is enabled by default. This check sets a timeout to 1ms , see : - org.apache.http.impl.io.SocketInputBuffer#isDataAvailable - org.apache.http.impl.AbstractHttpClientConnection#isStale Is this the only and best way to check for stale connection ? Regards Philippe Philippe I personally do not know of a different (better) way of finding out whether or not a blocking connection is still valid. Oleg - To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org