hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <ol...@apache.org>
Subject Re: HttpClient 4.2.6 : ManagedClientConnectionImpl way of checking stale connection and Performances
Date Sat, 15 Feb 2014 14:12:06 GMT
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 <olegk@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 <
> > oleg@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 <olegk@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 <
> > olegk@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
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-unsubscribe@hc.apache.org<javascript:;>
> > > > > > > > For additional commands, e-mail:
> > > > httpclient-users-help@hc.apache.org <javascript:;>
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
> > <javascript:;>
> > > > > > For additional commands, e-mail:
> > httpclient-users-help@hc.apache.org<javascript:;>
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
> > <javascript:;>
> > > > For additional commands, e-mail: httpclient-users-help@hc.apache.org
> > <javascript:;>
> > > >
> > > >
> > >
> >
> >
> >
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org


Mime
View raw message