httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Erenkrantz <jus...@erenkrantz.com>
Subject Re: FreeBSD 4.x and Apache2: worker MPM issue
Date Tue, 02 Mar 2004 06:30:47 GMT
--On Monday, March 1, 2004 11:37 AM -0400 "Marc G. Fournier" <scrappy@hub.org> 
wrote:

> so I've effectively 'pounded' the server, followed by a telnet session to
> the same server doing a 'GET /' and it returned right away:

See below, I think you only have one worker process running.  You need 
multiple process to trigger it.

What we believed was that it was related to race conditions inside the OS 
scheduler handler where our poll calls got mixed up with the scheduler's 
polls.  We had it tracked down to some gnarly stuff inside the libc_r 
scheduler and gave up...

> so am I mis-configuring something?  I'm running the default httpd.conf,
> and the worker stuff is setup as:
>
> <IfModule worker.c>
> StartServers         2
> MaxClients         150
> MinSpareThreads     25
> MaxSpareThreads     75
> ThreadsPerChild     25
> MaxRequestsPerChild  0
> </IfModule>
>
> so I would have expected no more then 4 processes to be running, no?

Well, I'd expect it to be no more than 6 (150 / 25).  But, yah, I'm not making 
sense of your 'ps auxl' output either.  Is it possible that FreeBSD is showing 
the threads as processes?  That'd make the count about right if there is only 
one process.  (Linux used to do that, but I forget *BSD's behavior.)

I also know that you must have two worker processes to trigger it.  You may 
need to set 'MinSpareThreads' to 50 to ensure that you always have two 
processes up.  If you look in STATUS ("FreeBSD, threads, and worker MPM" 
entry) that is the other pre-requisite.

> I'm guessing that the MaxRequestsPerChild == 0 means unlimited?

Should, yah.  -- justin

Mime
View raw message