hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From SZÜCS Balazs <Balazs.Szu...@wave-solutions.com>
Subject RE: MultithreadedConnectionManager pooling strategy
Date Mon, 15 May 2006 13:26:08 GMT
Hello,

I made two changes to the HttpClient code:

1) in the class ConnectionPool in the method getFreeConnection( ... ) I
changed freeConnections.removeFirst() to freeConnections.removeLast(). Now
the container for free connections behaves as a stack rather than a queue.

2) additionally I changed the IdleConnectionTimeoutThread, in the run()
method I added connectionManager.deleteClosedConnections() so that the pool
size is maintained correctly.

What do you think?
Balazs

	 -----Original Message-----
	From: 	Oleg Kalnichevski <olegk@apache.org>@DSI  
	Sent:	Donnerstag, 04. Mai 2006 18:07
	To:	HttpClient User Discussion
	Subject:	Re: MultithreadedConnectionManager pooling strategy

	On Thu, 2006-05-04 at 18:00 +0200, SZÜCS Balazs wrote:
	> Hello,
	>
	> I'm using HttpClient 3.0-rc4, and I have a question about the
connection
	> pooling strategy of MultithreadedConnectionManager. The reason for
that is
	> that I use an IdleConnectionTimeoutThread (runs every 60 secs,
using a
	> timeout of 60 secs) configured with a
MultithreadedConnectionManager, and
	> idle connections don't seem to get closed by the
	> IdleConnectionTimeoutThread. However, on a long time span
(overnight) the
	> pool size decreases, but I would expect a quicker reaction, when
my
	> application is not unter heavy load.
	>
	> I've taken a look at the source of MultithreadedConnectionManager,
and I
	> realized, that free connections are stored in a linked list. On
demand the
	> next free connection is taken from the BEGINNING of the list,
while after
	> usage the connection is put back to the END of the list. This
seems to me a
	> round robin behavior, and it might prevent connections reaching
the
	> predefined age for being recognized as idle. If there is some
load, each
	> free connection will be used, instead of just using a few of them,
and
	> letting the rest age.
	>
	> Does that make any sense?
	>

	Balazs,

	Yes, it does. Please file a bug report in Bugzilla. Feel free to
provide
	a patch for the problem. We love patches ;-)

	Oleg

	> Thank you!
	>
	> Balazs


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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message