> 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 threadsperchild)? > > 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. Bill
