summaryrefslogtreecommitdiff
path: root/docs/manual/mod/prefork.xml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/manual/mod/prefork.xml')
-rw-r--r--docs/manual/mod/prefork.xml224
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>
-