~ubuntu-branches/ubuntu/feisty/apache2/feisty

« back to all changes in this revision

Viewing changes to docs/manual/mod/prefork.html.en

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Barth
  • Date: 2006-12-09 21:05:45 UTC
  • mfrom: (0.6.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20061209210545-h70s0xaqc2v8vqr2
Tags: 2.2.3-3.2
* Non-maintainer upload.
* 043_ajp_connection_reuse: Patch from upstream Bugzilla, fixing a critical
  issue with regard to connection reuse in mod_proxy_ajp.
  Closes: #396265

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="ISO-8859-1"?>
 
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
3
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
 
4
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
5
              This file is generated from xml source: DO NOT EDIT
 
6
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
7
      -->
 
8
<title>prefork - Apache HTTP Server</title>
 
9
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
 
10
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
 
11
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
 
12
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
 
13
<body>
 
14
<div id="page-header">
 
15
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
 
16
<p class="apache">Apache HTTP Server Version 2.2</p>
 
17
<img alt="" src="../images/feather.gif" /></div>
 
18
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
 
19
<div id="path">
 
20
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Modules</a></div>
 
21
<div id="page-content">
 
22
<div id="preamble"><h1>Apache MPM prefork</h1>
 
23
<div class="toplang">
 
24
<p><span>Available Languages: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
 
25
<a href="../en/mod/prefork.html" title="English">&nbsp;en&nbsp;</a> |
 
26
<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
 
27
</div>
 
28
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implements a non-threaded, pre-forking web server</td></tr>
 
29
<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr>
 
30
<tr><th><a href="module-dict.html#ModuleIdentifier">Module�Identifier:</a></th><td>mpm_prefork_module</td></tr>
 
31
<tr><th><a href="module-dict.html#SourceFile">Source�File:</a></th><td>prefork.c</td></tr></table>
 
32
<h3>Summary</h3>
 
33
 
 
34
    <p>This Multi-Processing Module (MPM) implements a non-threaded,
 
35
    pre-forking web server that handles requests in a manner similar
 
36
    to Apache 1.3.  It is appropriate for sites that need to avoid
 
37
    threading for compatibility with non-thread-safe libraries.  It
 
38
    is also the best MPM for isolating each request, so that a problem
 
39
    with a single request will not affect any other.</p>
 
40
 
 
41
    <p>This MPM is very self-regulating, so it is rarely necessary to
 
42
    adjust its configuration directives.  Most important is that
 
43
    <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> be big enough to 
 
44
    handle as many simultaneous requests as you expect to receive, but
 
45
    small enough to assure that there is enough physical RAM for all
 
46
    processes.</p>
 
47
</div>
 
48
<div id="quickview"><h3 class="directives">Directives</h3>
 
49
<ul id="toc">
 
50
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#acceptmutex">AcceptMutex</a></li>
 
51
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li>
 
52
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li>
 
53
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#group">Group</a></li>
 
54
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li>
 
55
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li>
 
56
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#lockfile">LockFile</a></li>
 
57
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxclients">MaxClients</a></li>
 
58
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li>
 
59
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li>
 
60
<li><img alt="" src="../images/down.gif" /> <a href="#maxspareservers">MaxSpareServers</a></li>
 
61
<li><img alt="" src="../images/down.gif" /> <a href="#minspareservers">MinSpareServers</a></li>
 
62
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li>
 
63
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li>
 
64
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li>
 
65
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li>
 
66
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li>
 
67
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li>
 
68
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
 
69
</ul>
 
70
<h3>Topics</h3>
 
71
<ul id="topics">
 
72
<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">How it Works</a></li>
 
73
</ul><h3>See also</h3>
 
74
<ul class="seealso">
 
75
<li><a href="../bind.html">Setting which addresses and ports Apache
 
76
uses</a></li>
 
77
</ul></div>
 
78
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
79
<div class="section">
 
80
<h2><a name="how-it-works" id="how-it-works">How it Works</a></h2>
 
81
    <p>A single control process is responsible for launching child
 
82
    processes which listen for connections and serve them when they
 
83
    arrive. Apache always tries to maintain several <dfn>spare</dfn>
 
84
    or idle server processes, which stand ready to serve incoming
 
85
    requests. In this way, clients do not need to wait for a new
 
86
    child processes to be forked before their requests can be
 
87
    served.</p>
 
88
 
 
89
    <p>The <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>,
 
90
    <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>,
 
91
    <code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code>, and
 
92
    <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> regulate how
 
93
    the parent process creates children to serve requests. In general,
 
94
    Apache is very self-regulating, so most sites do not need to
 
95
    adjust these directives from their default values. Sites which
 
96
    need to serve more than 256 simultaneous requests may need to
 
97
    increase <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code>,
 
98
    while sites with limited memory may need to decrease <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> to keep the server from
 
99
    thrashing (swapping memory to disk and back). More information
 
100
    about tuning process creation is provided in the <a href="../misc/perf-tuning.html">performance hints</a>
 
101
    documentation.</p>
 
102
 
 
103
    <p>While the parent process is usually started as <code>root</code>
 
104
    under Unix in order to bind to port 80, the child processes are
 
105
    launched by Apache as a less-privileged user. The <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> and <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> directives are used to set
 
106
    the privileges of the Apache child processes. The child processes
 
107
    must be able to read all the content that will be served, but
 
108
    should have as few privileges beyond that as possible.</p>
 
109
 
 
110
    <p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code>
 
111
    controls how frequently the server recycles processes by killing
 
112
    old ones and launching new ones.</p>
 
113
</div>
 
114
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
115
<div class="directive-section"><h2><a name="MaxSpareServers" id="MaxSpareServers">MaxSpareServers</a> <a name="maxspareservers" id="maxspareservers">Directive</a></h2>
 
116
<table class="directive">
 
117
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of idle child server processes</td></tr>
 
118
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxSpareServers <var>number</var></code></td></tr>
 
119
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MaxSpareServers 10</code></td></tr>
 
120
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
 
121
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
 
122
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>prefork</td></tr>
 
123
</table>
 
124
    <p>The <code class="directive">MaxSpareServers</code> directive sets the
 
125
    desired maximum number of <em>idle</em> child server processes. An
 
126
    idle process is one which is not handling a request. If there are
 
127
    more than <code class="directive">MaxSpareServers</code> idle, then the
 
128
    parent process will kill off the excess processes.</p>
 
129
 
 
130
    <p>Tuning of this parameter should only be necessary on very
 
131
    busy sites. Setting this parameter to a large number is almost
 
132
    always a bad idea. If you are trying to set the value equal to or lower than
 
133
    <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, Apache
 
134
    will automatically adjust it to <code class="directive">MinSpareServers</code><code> + 1</code>.</p>
 
135
 
 
136
<h3>See also</h3>
 
137
<ul>
 
138
<li><code class="directive"><a href="#minspareservers">MinSpareServers</a></code></li>
 
139
<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li>
 
140
</ul>
 
141
</div>
 
142
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 
143
<div class="directive-section"><h2><a name="MinSpareServers" id="MinSpareServers">MinSpareServers</a> <a name="minspareservers" id="minspareservers">Directive</a></h2>
 
144
<table class="directive">
 
145
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Minimum number of idle child server processes</td></tr>
 
146
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MinSpareServers <var>number</var></code></td></tr>
 
147
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MinSpareServers 5</code></td></tr>
 
148
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
 
149
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
 
150
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>prefork</td></tr>
 
151
</table>
 
152
    <p>The <code class="directive">MinSpareServers</code> directive sets the
 
153
    desired minimum number of <em>idle</em> child server processes. An
 
154
    idle process is one which is not handling a request. If there are
 
155
    fewer than <code class="directive">MinSpareServers</code> idle, then the parent
 
156
    process creates new children at a maximum rate of 1 per second.</p>
 
157
 
 
158
    <p>Tuning of this parameter should only be necessary on very
 
159
    busy sites. Setting this parameter to a large number is almost
 
160
    always a bad idea.</p>
 
161
 
 
162
<h3>See also</h3>
 
163
<ul>
 
164
<li><code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code></li>
 
165
<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li>
 
166
</ul>
 
167
</div>
 
168
</div>
 
169
<div class="bottomlang">
 
170
<p><span>Available Languages: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
 
171
<a href="../en/mod/prefork.html" title="English">&nbsp;en&nbsp;</a> |
 
172
<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
 
173
</div><div id="footer">
 
174
<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
 
175
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
 
176
</body></html>
 
 
b'\\ No newline at end of file'