On Thu, 11 Jan 2001, Perrin Harkins wrote:

[...]
> Even a carefully coded system will leak over time, and I think killing off
> children after 1MB of growth would probably be too quick on the draw.  

I tend to set the number to N number of requests. If each httpd
child needs to be forked every 10000 requests that's pretty
insignificant and it can save you from some blowups.

[...]
> It would be nice if Apache could dynamically decide how many processes to
> run at any given moment based on available memory and how busy the server
> is, 

It's really hard to take into account other processes on the system
starting and stopping too. And other processes that could be swapped
out. Or couldn't.

> but in practice the best thing I've found is to tune it for the
> worst case scenario.  If you can survive that, the rest is cake.  
> Then you can get on to really hard things, like scaling your
> database.

In my experience setting MaxClients for the mod_perl httpd really
really low (may be as low as 5-10 childs) and letting your mod_proxy
deal with hundreds of clients works great. It all depends though; in
my application I pretty much don't have anything blocking, so I
couldn't get much more done with more childs.

If most of your time to serve a request is spend waiting for the
database you will maybe want more childs going.


 - ask

-- 
ask bjoern hansen - <http://ask.netcetera.dk/>
more than 70M impressions per day, <http://valueclick.com>

Reply via email to