process-model.html revision 455a5f75c9935108a7ac1d50996f404e0553ac17
0N/A<HTML><HEAD>
0N/A<TITLE>Server Pool Management with MinSpareServers and MaxSpareServers</TITLE>
0N/A</HEAD><BODY>
0N/A
0N/A<IMG SRC="/images/apache_sub.gif" ALT="">
0N/A<H3>Server Pool Management with MinSpareServers and MaxSpareServers</H3>
0N/A
0N/A<HR>
0N/A<P>
0N/AWe found that many people were using values for "MaxServers" either
0N/Atoo high or too low, and were hanging themselves on it. The model we
0N/Aadopted is still based on long-lived minimal-forking processes, but
0N/Ainstead of specifying one number of persistant processes, the
0N/Awebmaster specifies a maximum and minimum number of processes to be
0N/A"spare" - every couple of seconds the parent checks the actual number
0N/Aof spare servers and adjusts accordingly. This should keep the number
0N/Aof servers concurrently running relatively low while still ensuring
0N/Aminimal forking.
873N/A
0N/A<P>
0N/A
0N/AWe renamed the current StartServers to MinSpareServers, created
0N/Aseparate StartServers parameter which means what it says, and renamed
0N/AMaxServers to MaxSpareServers (though the old name still works, for
5065N/ANCSA 1.4 back-combatibility). The old names were generally regarded
6020N/Aas too confusing.
0N/A
0N/A<P>
0N/A
4134N/AThe defaults for each variable are:
0N/A
0N/A<PRE>
0N/AMinSpareServers 5
0N/AMaxSpareServers 10
0N/AStartServers 10
2095N/A</PRE>
2095N/A
2095N/AThere is a compile-time limit of 150 absolute maximum number of
2095N/Asimultaneous children that will be allowed, which can be overruled by
2095N/A"MaxClients", though we don't recommend changing that number unless
2095N/A
0N/A<OL>
0N/A<LI>You know you have the server resources to handle more
0N/A<LI>You use the machine for other purposes and must limit the amount of memory
0N/AApache uses
0N/A</OL>
0N/A
0N/A</body></html>
0N/A
0N/A
0N/A