You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by sl...@apache.org on 2002/08/20 22:31:26 UTC
cvs commit: httpd-2.0/docs/manual/mod worker.html.en mpm_common.html.en
slive 2002/08/20 13:31:26
Modified: docs/manual/mod worker.html.en mpm_common.html.en
Log:
HTML transformations of last commit.
Revision Changes Path
1.6 +23 -7 httpd-2.0/docs/manual/mod/worker.html.en
Index: worker.html.en
===================================================================
RCS file: /home/cvs/httpd-2.0/docs/manual/mod/worker.html.en,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -b -u -r1.5 -r1.6
--- worker.html.en 2 Aug 2002 04:35:23 -0000 1.5
+++ worker.html.en 20 Aug 2002 20:31:26 -0000 1.6
@@ -36,15 +36,31 @@
idle server threads, which stand ready to serve incoming
requests. In this way, clients do not need to wait for a new
threads or processes to be created before their requests can be
- served. Apache assesses the total number of idle threads in all
- processes, and forks or kills processes to keep this number within
- the boundaries specified by <a href="../mod/mpm_common.html#minsparethreads" class="directive"><code class="directive">MinSpareThreads</code></a> and <a href="../mod/mpm_common.html#maxsparethreads" class="directive"><code class="directive">MaxSpareThreads</code></a>. Since this
+ served. The number of processes that will initially launched is
+ set by the <a href="../mod/mpm_common.html#startservers" class="directive"><code class="directive">StartServers</code></a>
+ directive. Then during operation, Apache assesses the total number
+ of idle threads in all processes, and forks or kills processes to
+ keep this number within the boundaries specified by <a href="../mod/mpm_common.html#minsparethreads" class="directive"><code class="directive">MinSpareThreads</code></a> and <a href="../mod/mpm_common.html#maxsparethreads" class="directive"><code class="directive">MaxSpareThreads</code></a>. Since this
process is very self-regulating, it is rarely necessary to modify
these directives from their default values. The maximum number of
- clients that may be served simultaneously is determined by
- multiplying the maximum number of server processes that will be
- created (<a href="../mod/mpm_common.html#maxclients" class="directive"><code class="directive">MaxClients</code></a>) by
- the number of threads created in each process (<a href="../mod/mpm_common.html#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a>).</p>
+ clients that may be served simultaneously (i.e., the maximum total
+ number of threads in all processes) is determined by the
+ <a href="../mod/mpm_common.html#maxclients" class="directive"><code class="directive">MaxClients</code></a> directive,
+ while the maximum number of processes that can be launched is set
+ by the <a href="../mod/mpm_common.html#serverlimit" class="directive"><code class="directive">ServerLimit</code></a>
+ directive. <a href="../mod/mpm_common.html#serverlimit" class="directive"><code class="directive">ServerLimit</code></a>
+ multiplied by <a href="../mod/mpm_common.html#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a> must be greater
+ than or equal to <a href="../mod/mpm_common.html#maxclients" class="directive"><code class="directive">MaxClients</code></a></p>
+
+ <p>A typical configuration of the process-thread controls in
+ the <code><a href="../mod/worker.html">worker</a></code> MPM could look as follows:</p>
+
+<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code><pre>StartServers 2
+MaxClients 150
+MinSpareThreads 25
+MaxSpareThreads 75
+ThreadsPerChild 25
+ServerLimit 16</pre></code></td></tr></table></blockquote>
<p>While the parent process is usually started as root under Unix
in order to bind to port 80, the child processes and threads are
1.12 +20 -20 httpd-2.0/docs/manual/mod/mpm_common.html.en
Index: mpm_common.html.en
===================================================================
RCS file: /home/cvs/httpd-2.0/docs/manual/mod/mpm_common.html.en,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -b -u -r1.11 -r1.12
--- mpm_common.html.en 2 Aug 2002 04:35:23 -0000 1.11
+++ mpm_common.html.en 20 Aug 2002 20:31:26 -0000 1.12
@@ -142,32 +142,32 @@
<hr><h2><a name="MaxClients">MaxClients</a> <a name="maxclients">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td nowrap="nowrap"><strong>Description:
</strong></td><td>Maximum number of child processes that will be created
to serve requests</td></tr><tr><td nowrap="nowrap"><a href="directive-dict.html#Syntax" class="help">Syntax:
- </a></td><td>MaxClients <em>number</em></td></tr><tr><td nowrap="nowrap"><a href="directive-dict.html#Default" class="help">Default:
- </a></td><td><code>MaxClients
- 8 (with threads) MaxClients 256</code></td></tr><tr><td nowrap="nowrap"><a href="directive-dict.html#Context" class="help">Context:
+ </a></td><td>MaxClients <em>number</em></td></tr><tr><td nowrap="nowrap"><a href="directive-dict.html#Context" class="help">Context:
</a></td><td>server config</td></tr><tr><td nowrap="nowrap"><a href="directive-dict.html#Status" class="help">Status:
</a></td><td>MPM</td></tr><tr><td nowrap="nowrap"><a href="directive-dict.html#Module" class="help">Module:
</a></td><td><code><a href="../mod/worker.html">worker</a></code>, <code><a href="../mod/prefork.html">prefork</a></code></td></tr></table></td></tr></table>
<p>The <code class="directive">MaxClients</code> directive sets the limit
- on the number of child processes that will be created to serve
- requests. When the server is built without threading, no more than
- this number of clients can be served simultaneously. To configure
- more than 256 clients with the prefork MPM, you must use the
- <a href="#serverlimit" class="directive"><code class="directive">ServerLimit</code></a> directive.
- To configure more than 1024 clients with the worker MPM, you must
- use the <a href="#serverlimit" class="directive"><code class="directive">ServerLimit</code></a> and
- <a href="#threadlimit" class="directive"><code class="directive">ThreadLimit</code></a> directives.</p>
+ on the number of simultaneous requests that will be served. Any
+ connection attempts over the <code class="directive">MaxClients</code>
+ limit will normally be queued, up to a number based on the
+ <a href="#listenbacklog" class="directive"><code class="directive">ListenBacklog</code></a>
+ directive. Once a child process is freed at the end of a different
+ request, the connection will then be serviced.</p>
- <p>Any connection attempts over the
- <code class="directive">MaxClients</code> limit will normally be queued,
- up to a number based on the <a href="#listenbacklog" class="directive"><code class="directive">ListenBacklog</code></a> directive. Once a child
- process is freed at the end of a different request, the connection
- will then be serviced.</p>
+ <p>For non-threaded servers (i.e., <code><a href="../mod/prefork.html">prefork</a></code>),
+ <code class="directive">MaxClients</code> translates into the maximum
+ number of child processes that will be launched to serve requests.
+ The default value is 256; to increase it, you must also raise
+ <a href="#serverlimit" class="directive"><code class="directive">ServerLimit</code></a>.</p>
- <p>When the server is compiled with threading, then the maximum
- number of simultaneous requests that can be served is obtained
- from the value of this directive multiplied by
- <a href="#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a>.</p>
+ <p>For threaded servers (i.e., <code><a href="../mod/worker.html">worker</a></code>),
+ <code class="directive">MaxClients</code> restricts the total
+ number of threads that will be available to serve clients.
+ The default value is 16 multiplied by the value of
+ <a href="#threadsperchild" class="directive"><code class="directive">ThreadsPerChild</code></a>.
+ To increase <code class="directive">MaxClients</code> to a value
+ that requires more than 16 processes, you must also
+ raise <a href="#serverlimit" class="directive"><code class="directive">ServerLimit</code></a>.</p>
<hr><h2><a name="MaxRequestsPerChild">MaxRequestsPerChild</a> <a name="maxrequestsperchild">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td nowrap="nowrap"><strong>Description:
</strong></td><td>Limit on the number of requests that an individual child server
will handle during its life</td></tr><tr><td nowrap="nowrap"><a href="directive-dict.html#Syntax" class="help">Syntax: