diff options
Diffstat (limited to 'docs/manual/mod/prefork.xml')
-rw-r--r-- | docs/manual/mod/prefork.xml | 224 |
1 files changed, 0 insertions, 224 deletions
diff --git a/docs/manual/mod/prefork.xml b/docs/manual/mod/prefork.xml deleted file mode 100644 index 70cc6ccc28..0000000000 --- a/docs/manual/mod/prefork.xml +++ /dev/null @@ -1,224 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> -<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?> -<modulesynopsis> - -<name>prefork</name> -<description>Implements a non-threaded, pre-forking web server</description> -<status>MPM</status> -<sourcefile>prefork.c</sourcefile> -<identifier>mpm_prefork_module</identifier> - -<summary> - <p>This Multi-Processing Module (MPM) implements a non-threaded, - pre-forking web server that handles requests in a manner similar - to Apache 1.3. It is appropriate for sites that need to avoid - threading for compatibility with non-thread-safe libraries. It - is also the best MPM for isolating each request, so that a problem - with a single request will not affect any other.</p> - - <p>This MPM is very self-regulating, so it is rarely necessary to - adjust its configuration directives. Most important is that - <directive module="mpm_common">MaxClients</directive> be big enough to - handle as many simultaneous requests as you expect to receive, but - small enough to assure that there is enough physical RAM for all - processes.</p> - -</summary> -<seealso><a href="../bind.html">Setting which addresses and - ports Apache uses</a></seealso> - -<section><title>How it Works</title> - <p>A single control process is responsible for launching child - processes which listen for connections and serve them when they - arrive. Apache always tries to maintain several <em>spare</em> - or idle server processes, which stand ready to serve incoming - requests. In this way, clients do not need to wait for a new - child processes to be forked before their requests can be - served.</p> - - <p>The <directive module="mpm_common">StartServers</directive>, - <directive module="prefork">MinSpareServers</directive>, - <directive module="prefork">MaxSpareServers</directive>, and - <directive module="mpm_common">MaxClients</directive> regulate how - the parent process creates children to serve requests. In general, - Apache is very self-regulating, so most sites do not need to - adjust these directives from their default values. Sites which - need to serve more than 256 simultaneous requests may need to - increase <directive module="mpm_common">MaxClients</directive>, - while sites with limited memory may need to decrease <directive - module="mpm_common">MaxClients</directive> to keep the server from - thrashing (swapping memory to disk and back). More information - about tuning process creation is provided in the <a - href="../misc/perf-tuning.html">performance hints</a> - documentation.</p> - - <p>While the parent process is usually started as root under Unix - in order to bind to port 80, the child processes 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.</p> - - <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> - -<directivesynopsis location="mpm_common"> -<name>PidFile</name> -</directivesynopsis> - -<directivesynopsis location="mpm_common"> -<name>Listen</name> -</directivesynopsis> - -<directivesynopsis location="mpm_common"> -<name>ListenBacklog</name> -</directivesynopsis> - -<directivesynopsis location="mpm_common"> -<name>LockFile</name> -</directivesynopsis> - -<directivesynopsis location="mpm_common"> -<name>MaxClients</name> -</directivesynopsis> - -<directivesynopsis location="mpm_common"> -<name>MaxRequestsPerChild</name> -</directivesynopsis> - -<directivesynopsis location="mpm_common"> -<name>MaxSpareServers</name> -</directivesynopsis> - -<directivesynopsis location="mpm_common"> -<name>MinSpareServers</name> -</directivesynopsis> - -<directivesynopsis location="mpm_common"> -<name>ScoreBoardFile</name> -</directivesynopsis> - -<directivesynopsis location="mpm_common"> -<name>SendBufferSize</name> -</directivesynopsis> - -<directivesynopsis location="mpm_common"> -<name>ServerLimit</name> -</directivesynopsis> - -<directivesynopsis location="mpm_common"> -<name>StartServers</name> -</directivesynopsis> - -<directivesynopsis location="mpm_common"> -<name>User</name> -</directivesynopsis> - -<directivesynopsis location="mpm_common"> -<name>Group</name> -</directivesynopsis> - -<directivesynopsis> -<name>AcceptMutex</name> -<description>Method that Apache uses to serialize multiple children -accepting requests on network sockets</description> -<syntax>AcceptMutex default|<em>method</em></syntax> -<default>AcceptMutex default</default> -<contextlist><context>server config</context></contextlist> - -<usage> - <p>The <directive>AcceptMutex</directive> directives sets the - method that Apache uses to serialize multiple children accepting - requests on network sockets. Prior to Apache 2.0, the method was - selectable only at compile time. The optimal method to use is - highly architecture and platform dependent. For further details, - see the <a href="../misc/perf-tuning.html">performance tuning</a> - documentation.</p> - - <p>If this directive is set to <code>default</code>, then the - compile-time selected default will be used. Other possible - methods are listed below. Note that not all methods are - available on all platforms. If a method is specified which is - not available, a message will be written to the error log - listing the available methods.</p> - - <dl> - <dt><code>flock</code></dt> - - <dd>uses the <code>flock(2)</code> system call to lock the - file defined by the <directive module="mpm_common" - >LockFile</directive> directive.</dd> - - <dt><code>fcntl</code></dt> - - <dd>uses the <code>fnctl(2)</code> system call to lock the - file defined by the <directive module="mpm_common" - >LockFile</directive> directive.</dd> - - <dt><code>sysvsem</code></dt> - - <dd>uses SySV-style semaphores to implement the mutex.</dd> - - <dt><code>pthread</code></dt> - - <dd>uses POSIX mutexes as implemented by the POSIX Threads - (PThreads) specification.</dd> - </dl> -</usage> -</directivesynopsis> - -<directivesynopsis> -<name>MaxSpareServers</name> -<description>Maximum number of idle child server processes</description> -<syntax>MaxSpareServers <em>number</em><br /></syntax> -<default>MaxSpareServers 10</default> -<contextlist><context>server config</context></contextlist> - -<usage> - <p>The <directive>MaxSpareServers</directive> directive sets the - desired maximum number of <em>idle</em> child server processes. An - idle process is one which is not handling a request. If there are - more than MaxSpareServers idle, then the parent process will kill - off the excess processes.</p> - - <p>Tuning of this parameter should only be necessary on very - busy sites. Setting this parameter to a large number is almost - always a bad idea.</p> -</usage> -<seealso><directive module="prefork">MinSpareServers</directive></seealso> -<seealso><directive module="mpm_common">StartServers</directive></seealso> -</directivesynopsis> - -<directivesynopsis> -<name>MinSpareServers</name> -<description>Minimum number of idle child server processes</description> -<syntax>MinSpareServers <em>number</em></syntax> -<default>MinSpareServers 5</default> -<contextlist><context>server config</context></contextlist> - -<usage> - <p>The <directive>MinSpareServers</directive> directive sets the - desired minimum number of <em>idle</em> child server processes. An - idle process is one which is not handling a request. If there are - fewer than MinSpareServers idle, then the parent process creates - new children at a maximum rate of 1 per second.</p> - - <p>Tuning of this parameter should only be necessary on very - busy sites. Setting this parameter to a large number is almost - always a bad idea.</p> -</usage> -<seealso><directive module="prefork">MaxSpareServers</directive></seealso> -<seealso><directive module="mpm_common">StartServers</directive></seealso> -</directivesynopsis> - -</modulesynopsis> - |