diff options
author | Joshua Slive <slive@apache.org> | 2002-06-02 17:47:38 +0200 |
---|---|---|
committer | Joshua Slive <slive@apache.org> | 2002-06-02 17:47:38 +0200 |
commit | de63e8af08e8f335fdb9f43fd3222a3213211e6e (patch) | |
tree | c653dc54ed960112b5e0cc830edf74561a38bc35 /docs/manual/mod/worker.xml | |
parent | Too much garbage in the summary. Just put there what "Joe Average User" needs (diff) | |
download | apache2-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.xml | 77 |
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> |