httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan Bloom <>
Subject Re: pool performance in the worker mpm
Date Fri, 23 Nov 2001 17:45:16 GMT
On Thursday 22 November 2001 11:57 pm, Brian Pane wrote:
> The worker MPM currently creates and destroys a
> ptrans pool for each connection.  This is somewhat
> of a performance bottleneck due to the mutex locking
> in apr_pool_destroy().
> We could avoid this problem by creating a persistent
> pool per worker thread and doing apr_pool_clear() instead
> of apr_pool_destroy.  But I'm guessing that there's a
> reason why the code doesn't do that already.  Can
> anyone comment on the rationale for the current design?
> If we created a persistent pool in each worker thread,
> we might also be able to eliminate the locking in
> new_block() by enhancing the pool code to use a
> thread-private free block list.  This would eliminate
> essentially all the mutex operations during request
> processing.

We tried adding a pool per worker-thread, but the code ended up being much
more complex than today's logic.

What we really need to do is just remove the mutexes from the pools.  We already
state that each thread must have it's own pool, so this shouldn't be too hard
to do.


Ryan Bloom
Covalent Technologies

View raw message