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: Disabling pooling of PoolingConnectionManager
Date Tue, 18 Oct 2016 14:06:41 GMT
On Mon, 2016-10-17 at 22:06 -0600, Bhowmik, Bindul wrote:
> Murat,
> 
> On Mon, Oct 17, 2016 at 8:11 PM, Murat Balkan <mrbalkan@gmail.com> wrote:
> > I see. I think that also means that I cannot share the ClosableHttpClient
> > instance among multiple threads as each client can refer to one connection
> > manager instance.
> >
> > Can connectionreusestrategy be used so that the pooling connection manager
> > will always return a new connection regardless of the route provided?
> 
> I did not think about that, guess you could use the NoConnectionReuseStrategy
> 

That would be one option. Another option is to manually evict persistent
connections from the pool after each transaction. Another option is to
set connection TTL (total time to live) to some very low value. Another
option is to simply use 'connection: close' request header.

Oleg  

> - Bindul
> 
> >
> > Regards.
> > Murat
> >
> > On Mon, Oct 17, 2016 at 5:05 PM, Bhowmik, Bindul <bindulbhowmik@gmail.com>
> > wrote:
> >
> >> Murat,
> >>
> >> On Mon, Oct 17, 2016 at 12:58 PM, Murat Balkan <mrbalkan@gmail.com> wrote:
> >> > Hi Bindul,
> >> > Thanks for the answer.
> >> > I was thinking that using a shared connection manager will increase the
> >> > performance. What will be the implications of reusing the same
> >> > BasicHttpClientConnectionManager instance?
> >>
> >> If you see the documentation for the BasicHttpClientConnectionManager
> >> [1], you will see that it only maintains one active connection. If you
> >> share the the instance, your requests will be waiting for the
> >> connection to be available and that will be your bottleneck.
> >>
> >> I would also recommend reading the connection management section of
> >> the Http Client documentation [2]
> >>
> >> - Bindul
> >>
> >> [1] http://hc.apache.org/httpcomponents-client-ga/
> >> httpclient/apidocs/org/apache/http/impl/conn/
> >> BasicHttpClientConnectionManager.html
> >> [2] http://hc.apache.org/httpcomponents-client-4.5.x/
> >> tutorial/html/connmgmt.html
> >>
> >> > Regards,
> >> > Murat
> >> >
> >> > On Mon, Oct 17, 2016 at 2:31 PM, Bhowmik, Bindul <
> >> bindulbhowmik@gmail.com>
> >> > wrote:
> >> >
> >> >> Murat,
> >> >>
> >> >> On Mon, Oct 17, 2016 at 11:12 AM, Murat Balkan <mrbalkan@gmail.com>
> >> wrote:
> >> >> > Hi,
> >> >> >
> >> >> > We are using PoolingHttpClientConnectionManager to open up
> >> connections
> >> >> to
> >> >> > multiple URL's in different threads (via different HttpGet objects).
> >> >> >
> >> >> > The only reason we are using the PoolingHttpClientConnectionManager
> >> is
> >> >> its'
> >> >> > performance in multi-thread environments (as suggested by the
> >> >> > documentation).
> >> >> >
> >> >> > However, we are not interested in the actual "pooling" functionality.
> >> >> > That's to say, we want to open up a brand new connection even
if the
> >> >> route
> >> >> > is the same.
> >> >>
> >> >> The performance enhancements you achieve from
> >> >> PoolingHttpClientConnectionManager are due to its connection pooling
> >> >> feature, that saves you to cost of establishing the connection when
> >> >> another request goes to the same route.
> >> >>
> >> >> >
> >> >> > How can we achieve this? We tried to set maxPerroute to 1 but
it
> >> seems it
> >> >> > is not the correct way.
> >> >>
> >> >> I have not tested, but setting maxPerRoute to 1 would degrade
> >> >> performance for you as you will have a number of Http clients waiting
> >> >> for the single connection.
> >> >>
> >> >> If you do not want to use pooled connections, you can use
> >> >> BasicHttpClientConnectionManager and not share it.
> >> >>
> >> >> >
> >> >> > Regards,
> >> >> > Murat
> >> >>
> >> >> ---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
> >> >> For additional commands, e-mail: httpclient-users-help@hc.apache.org
> >> >>
> >> >>
> >> >
> >> >
> >> > --
> >> > Murat Balkan
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
> >> For additional commands, e-mail: httpclient-users-help@hc.apache.org
> >>
> >>
> >
> >
> > --
> > Murat Balkan
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
> For additional commands, e-mail: httpclient-users-help@hc.apache.org
> 



---------------------------------------------------------------------
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