[
https://issues.apache.org/jira/browse/HTTPCLIENT-2180?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17423192#comment-17423192
]
Anurag Agarwal commented on HTTPCLIENT-2180:
--------------------------------------------
Ideally the best place for the method to sit is in ConnectionManger, but the
issue is that the connection manager is not doing anything related to creating
connection by itself. It is just handling the book keeping of the connections.
The real work is being done in the AsyncConnExec which is taking care of how
and when the connection is to be connected.
So even if the user directly provides a ConnectionInitiator -> it has to have
all the logic of AsyncConnExec to be able to do it judiciously, like proceeding
to next hop or taking care of the user token etc.
Plus let us say I want to make 100 lease request, having this method in the
connection manager will be just helping me get the future of when the 100 lease
request would complete. But I am looking more from the standpoint of, having
100 AsyncConnExec which will asynchronously lease and connect to the endpoints.
> Pre-init minimum number of connections
> --------------------------------------
>
> Key: HTTPCLIENT-2180
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2180
> Project: HttpComponents HttpClient
> Issue Type: New Feature
> Components: HttpClient (async), HttpClient (classic)
> Reporter: Anurag Agarwal
> Priority: Minor
> Labels: volunteers-wanted
> Fix For: Future
>
>
> Most of the applications suffer from a problem of cold start where we don't
> have connections created at the start of the application and thus the first
> few requests suffer by making a lot of connections.
> During deployment this can even pile up a lot of not completed request and
> may lead to losses.
> One suggestion I had in mind is to create few connections before the
> application has begun from the intended endpoints.
> Also sometimes the nautre of your traffic can be spiky in which scenario
> opening and closing a lot of connections also doesn't make sense.
>
> These can be solved with either or both of the suggestions:
> # Have a minConnectionPerHost policy in connection pool which won't let
> connection pool for a host to go below this number or make a new connection
> when it does. At the start of the http client these minimum connections will
> be created to the end services.
> # Provide an easy mechanism for use to create connections via
> ConnectionManager. Currently in PoolingAsyncConnectionManager one must give
> ConnectionInitiator which make it difficult to directly use the connection
> manager to create connections.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]