summaryrefslogtreecommitdiffstats
path: root/docs/manual/mod/worker.xml
diff options
context:
space:
mode:
authorJoshua Slive <slive@apache.org>2002-06-02 17:47:38 +0200
committerJoshua Slive <slive@apache.org>2002-06-02 17:47:38 +0200
commitde63e8af08e8f335fdb9f43fd3222a3213211e6e (patch)
treec653dc54ed960112b5e0cc830edf74561a38bc35 /docs/manual/mod/worker.xml
parentToo much garbage in the summary. Just put there what "Joe Average User" needs (diff)
downloadapache2-de63e8af08e8f335fdb9f43fd3222a3213211e6e.tar.xz
apache2-de63e8af08e8f335fdb9f43fd3222a3213211e6e.zip
Simplify the worker mpm docs a little.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95469 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'docs/manual/mod/worker.xml')
-rw-r--r--docs/manual/mod/worker.xml77
1 files changed, 48 insertions, 29 deletions
diff --git a/docs/manual/mod/worker.xml b/docs/manual/mod/worker.xml
index c5c1caa6c0..af18c1f633 100644
--- a/docs/manual/mod/worker.xml
+++ b/docs/manual/mod/worker.xml
@@ -11,49 +11,68 @@
<summary>
<p>This Multi-Processing Module (MPM) implements a hybrid
- multi-process multi-threaded server. Each process has a fixed
+ multi-process multi-threaded server. By using threads to serve
+ requests, it is able to serve a large number of requests with
+ less system resources than a process-based server. Yet it
+ retains much of the stability of a process-based server by
+ keeping multiple processes available, each with many threads.</p>
+
+ <p>The most important directives used to control this MPM are
+ <directive module="mpm_common">ThreadsPerChild</directive> and
+ <directive module="mpm_common">MaxClients</directive>. By multiplying
+ together the value of these directives you define the total number
+ of simultaneous connections that the server can handle.</p>
+
+</summary>
+<seealso><a href="../bind.html">Setting which addresses and
+ ports Apache uses</a></seealso>
+
+<section><title>How it Works</title>
+ <p>Each process has a fixed
number of threads. The server adjusts to handle load by
increasing or decreasing the number of processes.</p>
<p>A single control process is responsible for launching child
- processes. Each child process creates a fixed number of threads
- as specified in the <code>ThreadsPerChild</code> directive. The
- individual threads then listen for connections and serve them
- when they arrive.</p>
+ processes. Each child process creates a fixed number of threads as
+ specified in the <directive
+ module="mpm_common">ThreadsPerChild</directive> directive. The
+ individual threads then listen for connections and serve them when
+ they arrive.</p>
<p>Apache always tries to maintain a pool of <em>spare</em> or
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 <code>MinSpareThreads</code>
- and <code>MaxSpareThreads</code>. Since this process is very
- self-regulating, it is rarely necessary to modify these
- directives from their default values. The maximum number of
+ processes, and forks or kills processes to keep this number within
+ the boundaries specified by <directive
+ module="mpm_common">MinSpareThreads</directive> and <directive
+ module="mpm_common">MaxSpareThreads</directive>. 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 (<code>MaxClients</code>) by the number of threads
- created in each process (<code>ThreadsPerChild</code>).</p>
-
- <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 launched by Apache as a less-privileged user. The
- <code>User</code> and <code>Group</code> directives are used to
- set the privileges of the Apache child processes. The child
- processes must be able to read all the content that will be
- served, but should have as few privileges beyond that as
- possible. In addition, unless <a
- href="../suexec.html">suexec</a> is used, these directives also
- set the privileges which will be inherited by CGI scripts.</p>
+ created (<directive module="mpm_common">MaxClients</directive>) by
+ the number of threads created in each process (<directive
+ module="mpm_common">ThreadsPerChild</directive>).</p>
- <p><code>MaxRequestsPerChild</code> controls how frequently the
- server recycles processes by killing old ones and launching new
- ones.</p>
+ <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
+ launched by Apache as a less-privileged user. The <directive
+ module="mpm_common">User</directive> and <directive
+ module="mpm_common">Group</directive> directives are used to set
+ the privileges of the Apache child processes. The child processes
+ must be able to read all the content that will be served, but
+ should have as few privileges beyond that as possible. In
+ addition, unless <a href="../suexec.html">suexec</a> is used,
+ these directives also set the privileges which will be inherited
+ by CGI scripts.</p>
- <p>See also: <a href="../bind.html">Setting which addresses and
- ports Apache uses</a>.</p>
-</summary>
+ <p><directive module="mpm_common">MaxRequestsPerChild</directive>
+ controls how frequently the server recycles processes by killing
+ old ones and launching new ones.</p>
+</section>
+
<directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name>
</directivesynopsis>