httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <>
Subject Re: worker MPM bugs (was Re: [PATCH] Possible fix for worker MPM performance problem)
Date Thu, 25 Apr 2002 17:31:21 GMT

> On Thu, Apr 25, 2002 at 11:30:54AM -0400, Bill Stoddard wrote:
> > Would someone care to see if this fixes the worker MPM performance problem reported
> > earlier on the list (request-per-second dropping when clients exceeded
> > This patch defers starting the listener untill -all- the workers have started.
> I'm not really sure how this would fix the performance problems, and given
> the current theory it might even exacerbate it. The current hypothesis
> is that when we run out of available workers in all available children,
> and we are waiting for a new child to be spawned, connections continue
> to be accepted and placed in a queue*, and as such aren't able to be
> immediately serviced as soon as the new child is started.

Yes, I know this is a problem (and I think I was the first person to identify it FWIW) and
it needs to be fixed. However, I am not sure this problem adequately explains the
behaviour noted in the 'apache 2.0 slow' thread (April 9-10).  Paul Reder has been doing
some testing that points to some funkiness when a new process is started to begin
accepting new connections and FWIW, I cannot recreate the problem on AIX which leads me to
believe it may be a Linux pthread library issue. This patch is an attempt to gain an
additional data point.

Also, Jeff pointed out a good reason why we should not commit this patch (related to
graceful restart under load).

> A simple fix would be to prevent the queue* from accepting more
> connections until there is an idle worker thread available.

Jeff Trawick had a very simple solution that should be low/no impact.


View raw message