On Oct 19, 2008, at 4:20 PM, Ruediger Pluem wrote:



On 10/19/2008 07:35 PM, Jim Jagielski wrote:

On Oct 18, 2008, at 4:22 PM, Graham Leggett wrote:

Ruediger Pluem wrote:

As a result, the connection pool has made the server slower, not
faster,
and very much needs to be fixed.
I agree in theory. But I don't think so in practice.

Unfortunately I know so in practice. In this example we are seeing
single connections being held open for 30 second or more. :(

1. 2.0.x behaviour: If you did use keepalive connections to the backend
 the connection to the backenend was kept alive and as it was bound
to the
frontend connection in 2.0.x it couldn't be used by other connections. Depending on the backend server it wasted the same number of resources
 as without the optimization (backend like httpd worker, httpd
prefork) or
 a small amount of resources (backend like httpd event with HTTP or
a recent
 Tomcat web connector). So you didn't benefit very well from this
optimization
 in 2.0.x as long as you did not turn off the keepalives to the
backend.

Those who did need the optimisation, would have turned off keepalives
to the backend.



Trying to grok things better, but doesn't this imply that
for those who needed the optimization, disabling the
connection pool would be the required work-around for 2.2?

No. Without a connection pool (e.g. the default reverse worker) the backend connection does not get freed any faster than without a connection pool. Ok strictly spoken you cannot turn off the connection pools at all (reverse
is also one), you can only turn off a reuse of the connections.


I thought that was the concern; that the pool wasn't released
immediately. If you disable reuse, then you don't need to
worry about when it is released... or I must be missing something
obvious here :/

Reply via email to