httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan Bloom <>
Subject Re: threaded.c assigning children to wrong slot
Date Fri, 27 Jul 2001 18:34:33 GMT
On Friday 27 July 2001 11:23, Bill Stoddard wrote:
> > Guys, this is as designed.  The worst case, is while the server is
> > stopping and starting child process (gracefully only) very quickly, we
> > can get MaxClients*ThreadsPerChild processes.  This is okay,
> Sounds like a problem to me. With Apache 1.3, admins use MaxClients to set
> an upper limit on the number of processes that may be started in order to
> prevent resource problems.

But that isn't how MaxClients is used in the threaded MPM.  If we want to rename the current
MaxClients from the threaded MPM and implement a real MaxClients, then cool we can do that.

Today though, MaxClients is not really used for resource limiting.  It is used in conjunction
ThreadsPerChild to limit resource usage.  We have two options:

Create a lot of processes, don't hit MaxClients * threadsPerProcess

The user has told us to have MaxClients*ThreadsPerProcess threads dealing with requests, I
believe it is a BIG problem if we ever have more than that number doing work, and a problem
if we
have less than that during a heavy load.

Remember, this is only an issue if we are constantly shutting down processing that are serving
requests.  In other words,

while (1) do
	kill -WINCH `cat`

while at the same time, we are making a lot of requests for VERY large files.  If we only
requests for small files, then the old processes will die as soon as they can.

This is an edge case, not a main-line case.  How big a problem is this in a real-world situation,
instead of a benchmarking situation?


Ryan Bloom               
Covalent Technologies

View raw message