limitations under the License.
-->
<manualpage metafile="perf-scaling.xml.meta">
-
- <title>Performance Scaling
- </title>
+ <parentdocument href="./">Miscellaneous Documentation</parentdocument>
+
+ <title>Performance Scaling</title>
<summary>
MPM runs a smaller number of child processes, and spawns
multiple request handling threads within each child process. In
2.4 MPMs are no longer hard-wired. They too can be exchanged
- via <directive module="core">LoadModule</directive>.
+ via <directive module="mod_so">LoadModule</directive>.
The default MPM in 2.4 is the event MPM.
</p>
<p>The maximum number of workers, be they pre-forked child
</p>
<p>Finally, if the httpd server in question is not executing any third-party
code, via <code>mod_php</code>, <code>mod_perl</code> or similar,
- we recommend the use of <module>mpm_event</module>. This MPM is ideal
+ we recommend the use of <module outdated="true">mpm_event</module>. This MPM is ideal
for situations where httpd serves as a thin layer between clients and
backend servers doing the real job, such as a proxy or cache.
</p>
<title>MaxClients
</title>
<p>
- The <code>MaxClients
- </code>
+ The <code>MaxClients</code>
directive in your Apache httpd configuration file specifies
the maximum number of workers your server can create. It
has two related directives, <code>MinSpareServers
complicated. Threaded MPMs support the <code>
ThreadsPerChild
</code>
- directive1 . Apache requires that <code>MaxClients
- </code>
+ directive1 . Apache requires that <code>MaxClients</code>
is evenly divisible by <code>ThreadsPerChild
</code>
.If you set either directive to a number that doesn't
complaint to the error log and adjust the <code>
ThreadsPerChild
</code>
- value downwards until it is an even factor of <code>
- MaxClients
- </code>
- .
+ value downwards until it is an even factor of
+ <code>MaxClients</code>.
</p>
that all the memory on your system is used, but no more. If
your system gets so overloaded that it needs to heavily
swap core memory out to disk, performance will degrade
- quickly. The formula for determining <directive module="mpm_common">MaxClients</directive>
+ quickly. The formula for determining <directive module="mpm_common" name="MaxRequestWorkers">MaxClients</directive>
is fairly simple:
</p>
<!-- Is this still the case? Maybe we should give
a better example here too.-->
<p>
- The Apache Software Foundation Wiki is served by MoinMoin.
- MoinMoin is written in Python and runs as a CGI. To date, any
- attempts to run it under mod_python has been unsuccessful.
- The CGI proved to place an untenably high load on the
- server machine, especially when the Wiki was being indexed
- by search engines like Google. To lighten the load on the
- server machine, the Apache Infrastructure team turned to
- mod_cache. It turned out <a href="/httpd/MoinMoin">MoinMoin
- </a>
- needed a small patch to ensure proper behavior behind the
- caching server: certain requests can never be cached and
- the corresponding Python modules were patched to send the
- proper HTTP response headers. After this modification, the
- cache in front of the Wiki was enabled with the following
- configuration snippet in <code>httpd.conf</code>:
+ The Apache Software Foundation Wiki is served by
+ MoinMoin. MoinMoin is written in Python and runs as
+ a CGI. To date, any attempts to run it under
+ mod_python has been unsuccessful. The CGI proved to
+ place an untenably high load on the server machine,
+ especially when the Wiki was being indexed by search
+ engines like Google. To lighten the load on the
+ server machine, the Apache Infrastructure team
+ turned to mod_cache. It turned out MoinMoin needed a
+ small patch to ensure proper behavior behind the
+ caching server: certain requests can never be cached
+ and the corresponding Python modules were patched to
+ send the proper HTTP response headers. After this
+ modification, the cache in front of the Wiki was
+ enabled with the following configuration snippet in
+ <code>httpd.conf</code>:
</p>
<highlight language="config">
<p>This configuration will try to cache any and all content
within its virtual host. It will never cache content for
- more than six hours (the <directive module="mod_cace">CacheMaxExpire</directive>
+ more than six hours (the <directive module="mod_cache">CacheMaxExpire</directive>
directive). If no <code>Expires:</code>
header is present in the response, <module>mod_cache</module> will compute
an expiration period from the <code>Last-Modified:</code>
<p>From 2.4.8 onwards, named groups and backreferences are captured and
written to the environment with the corresponding name prefixed with
"MATCH_" and in upper case. This allows elements of paths to be referenced
- from within <a href="expr.html">expressions</a> and modules like
+ from within <a href="../expr.html">expressions</a> and modules like
<module>mod_rewrite</module>. In order to prevent confusion, numbered
(unnamed) backreferences are ignored. Use named groups instead.</p>
<p>From 2.4.8 onwards, named groups and backreferences are captured and
written to the environment with the corresponding name prefixed with
"MATCH_" and in upper case. This allows elements of files to be referenced
- from within <a href="expr.html">expressions</a> and modules like
+ from within <a href="../expr.html">expressions</a> and modules like
<module>mod_rewrite</module>. In order to prevent confusion, numbered
(unnamed) backreferences are ignored. Use named groups instead.</p>
<highlight language="config">
-<FileMatch ^(?<sitename>[^/]+)>
+<FilesMatch ^(?<sitename>[^/]+)>
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
-</FileMatch>
+</FilesMatch>
</highlight>
</usage>
documentation is available in <a href="../expr.html">Expressions in
Apache HTTP Server</a>.</p>
- <p>Only directives that support the <a href="mod/directive-dict.html#Context"
+ <p>Only directives that support the <a href="directive-dict.html#Context"
>directory context</a> can be used within this configuration section.</p>
</usage>
<p>From 2.4.8 onwards, named groups and backreferences are captured and
written to the environment with the corresponding name prefixed with
"MATCH_" and in upper case. This allows elements of URLs to be referenced
- from within <a href="expr.html">expressions</a> and modules like
+ from within <a href="../expr.html">expressions</a> and modules like
<module>mod_rewrite</module>. In order to prevent confusion, numbered
(unnamed) backreferences are ignored. Use named groups instead.</p>
<p>From 2.5.0 onwards, named groups and backreferences are captured and
written to the environment with the corresponding name prefixed with
"MATCH_" and in upper case. This allows elements of URLs to be referenced
- from within <a href="expr.html">expressions</a> and modules like
+ from within <a href="../expr.html">expressions</a> and modules like
<module>mod_rewrite</module>. In order to prevent confusion, numbered
(unnamed) backreferences are ignored. Use named groups instead.</p>
is used in <code>VirtualHost</code> or server context with
version 2.2.22 or later of httpd, <module>mod_rewrite</module>
will only process the rewrite rules if the request URI is a <a
- href="./directive-dict.html#Syntax">URL-path</a>. This avoids
+ href="directive-dict.html#Syntax">URL-path</a>. This avoids
some security issues where particular rules could allow
"surprising" pattern expansions (see <a
href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3368">CVE-2011-3368</a>
<p><a id="patterns" name="patterns"><em>Pattern</em></a> is
a perl compatible <a id="regexp" name="regexp">regular
expression</a>. On the first RewriteRule, it is matched against
- the (%-decoded) <a href="./directive-dict.html#Syntax">URL-path</a> (or
- <a href="./directive-dict.html#Syntax">file-path</a>, depending
+ the (%-decoded) <a href="directive-dict.html#Syntax">URL-path</a> (or
+ <a href="directive-dict.html#Syntax">file-path</a>, depending
on the context) of the request. Subsequent patterns are matched against the
output of the last matching RewriteRule.</p>
<seealso><a href="../bind.html">Setting which addresses and ports Apache
uses</a></seealso>
-<directivesynopsis location="mpm_common"><name>User</name>
+<directivesynopsis location="mod_unixd"><name>User</name>
</directivesynopsis>
-<directivesynopsis location="mpm_common"><name>Group</name>
+<directivesynopsis location="mod_unixd"><name>Group</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>Listen</name>
</directivesynopsis>
<a href="http://httpd.apache.org/bug_report.html">bug reporting
page.</a></p>
- <p>The bug reporting page and dev-httpd mailing list are <em>not</em>
- provided to answer questions about configuration or running Apache.
- Before you submit a bug report or request, first consult this document, the
- <a href="../faq/">Frequently Asked Questions</a> page and the other
- relevant documentation topics. If you still have a question or problem,
- post it to the <a href="news://developer-forums.novell.com/novell.devsup.webserver">
- novell.devsup.webserver</a> newsgroup, where many Apache users are more than
- willing to answer new and obscure questions about using Apache on NetWare.</p>
+ <p>The bug reporting page and dev-httpd mailing list are
+ <em>not</em> provided to answer questions about configuration or
+ running Apache. Before you submit a bug report or request, first
+ consult this document, the <a
+ href="http://wiki.apache.org/httpd/FAQ">Frequently Asked
+ Questions</a> page and the other relevant documentation topics. If
+ you still have a question or problem, post it to the <a
+ href="news://developer-forums.novell.com/novell.devsup.webserver">
+ novell.devsup.webserver</a> newsgroup, where many Apache users are
+ more than willing to answer new and obscure questions about using
+ Apache on NetWare.</p>
<p>Most of this document assumes that you are installing Apache
from a binary distribution. If you want to compile Apache
<p>Apache is configured by reading configuration files usually stored
in the <code>conf</code> directory. These are the same as files used
to configure the Unix version, but there are a few different directives for
- Apache on NetWare. See the <a href="../">Apache
+ Apache on NetWare. See the <a href="../mod/">Apache module
documentation</a> for all the available directives.</p>
<p>The main differences in Apache for NetWare are:</p>
limitations under the License.
-->
-<manualpage metafile="other.xml.meta">
+<manualpage metafile="log_server_status.xml.meta">
<parentdocument href="./">Programs</parentdocument>
<title>log_server_status - Log periodic status summaries</title>
limitations under the License.
-->
-<manualpage metafile="other.xml.meta">
+<manualpage metafile="split-logfile.xml.meta">
<parentdocument href="./">Programs</parentdocument>
<title>split-logfile - Split up multi-vhost logfiles</title>
limitations under the License.
-->
-<manualpage metafile="avoid.xml.meta">
+<manualpage metafile="advanced.xml.meta">
<parentdocument href="./">Rewrite</parentdocument>
<title>Advanced Techniques with mod_rewrite</title>
<page href="server-wide.html">Server-Wide Configuration</page>
<page href="logs.html">Log Files</page>
<page href="urlmapping.html">Mapping URLs to Filesystem Locations</page>
-<page href="misc/security_tips.html">Security Tips</page>
<page href="dso.html">Dynamic Shared Object (DSO) support</page>
+<page href="compliance.html">HTTP Protocol Compliance</page>
<page href="content-negotiation.html">Content Negotiation</page>
<page href="custom-error.html">Custom error responses</page>
<page href="bind.html">Setting which addresses and ports Apache uses</page>
<page href="filter.html">Filters</page>
<page href="socache.html">Shared Object Cache Support</page>
<page href="suexec.html">suEXEC Support</page>
-<page href="misc/perf-tuning.html">Performance Hints</page>
+<page href="dns-caveats.html">Issues Regarding DNS and Apache</page>
<page href="http://wiki.apache.org/httpd/FAQ">Frequently Asked Questions</page>
</category>
<page href="vhosts/examples.html">VirtualHost Examples</page>
<page href="vhosts/details.html">An In-Depth Discussion of Virtual Host Matching</page>
<page href="vhosts/fd-limits.html">File descriptor limitations</page>
-<page href="dns-caveats.html">Issues Regarding DNS and Apache</page>
</category>
<category id="rewrite">
<page separate="yes" href="rewrite/">Overview</page>
<page href="mod/mod_rewrite.html">mod_rewrite reference
documentation</page>
-<page href="rewrite/intro.html">Introduction</page>
-<page href="rewrite/flags.html">Flags</page>
-<page href="rewrite/tech.html">Technical details</page>
-<page href="rewrite/remapping.html">Remapping URLs</page>
-<page href="rewrite/access.html">Access control</page>
+<page href="rewrite/intro.html">Introduction to regular expressions and
+mod_rewrite</page>
+<page href="rewrite/remapping.html">Using mod_rewrite for redirection and
+remapping of URLs</page>
+<page href="rewrite/access.html">Using mod_rewrite to control access</page>
+<page href="rewrite/vhosts.html">Dynamic virtual hosts with mod_rewrite</page>
+<page href="rewrite/proxy.html">Dynamic proxying with mod_rewrite</page>
+<page href="rewrite/rewritemap.html">Using RewriteMap</page>
<page href="rewrite/advanced.html">Advanced techniques</page>
+<page href="rewrite/avoid.html">When NOT to use mod_rewrite</page>
+<page href="rewrite/flags.html">RewriteRule Flags</page>
+<page href="rewrite/tech.html">Technical details</page>
</category>
<category id="ssl">
<category id="howto">
<title>Guides, Tutorials, and HowTos</title>
<page separate="yes" href="howto/">Overview</page>
-<page href="howto/auth.html">Authentication</page>
+<page href="howto/auth.html">Authentication and Authorization</page>
+<page href="howto/access.html">Access Control</page>
<page href="howto/cgi.html">Dynamic Content with CGI</page>
<page href="howto/ssi.html">Introduction to Server Side Includes</page>
<page href="howto/htaccess.html">.htaccess files</page>
Windows</page>
<page href="platform/win_compiling.html">Compiling Apache for
Microsoft Windows</page>
+<page href="platform/rpm.html">Using Apache With RPM Based Systems</page>
<page href="platform/netware.html">Using Apache with Novell NetWare</page>
<page href="platform/perf-hp.html">Running a High-Performance Web
Server on HPUX</page>
<page href="programs/apxs.html">Manual Page: apxs</page>
<page href="programs/configure.html">Manual Page: configure</page>
<page href="programs/dbmmanage.html">Manual Page: dbmmanage</page>
+<page href="programs/fcgistarter.html">Manual Page: fcgistarter</page>
+<page href="programs/firehose.html">Manual Page: firehose</page>
<page href="programs/htcacheclean.html">Manual Page: htcacheclean</page>
<page href="programs/htdbm.html">Manual Page: htdbm</page>
<page href="programs/htdigest.html">Manual Page: htdigest</page>
<page href="programs/htpasswd.html">Manual Page: htpasswd</page>
+<page href="programs/httxt2dbm.html">Manual Page: httxt2dbm</page>
<page href="programs/logresolve.html">Manual Page: logresolve</page>
+<page href="programs/log_server_status.html">Manual Page:
+log_server_status</page>
<page href="programs/rotatelogs.html">Manual Page: rotatelogs</page>
+<page href="programs/split-logfile.html">Manual Page: split-logfile</page>
<page href="programs/suexec.html">Manual Page: suexec</page>
<page href="programs/other.html">Other Programs</page>
</category>
<category id="misc">
<title>Apache Miscellaneous Documentation</title>
<page separate="yes" href="misc/">Overview</page>
+<page href="misc/perf-tuning.html">Performance Notes - Apache Tuning</page>
+<page href="misc/perf-scaling.html">Performance Scaling</page>
+<page href="misc/security_tips.html">Security Tips</page>
<page href="misc/relevant_standards.html">Relevant Standards</page>
+<page href="misc/password_encryptions.html">Password Encryption Formats</page>
</category>
<category id="modules">
<page href="developer/modules.html">Converting Modules from 1.3 to 2.x</page>
<page href="developer/request.html">Request Processing in 2.x</page>
<page href="developer/filters.html">How Filters Work in 2.x</page>
+<page href="developer/output-filters.html">Guidelines for output filters in 2.x</page>
+<page href="developer/thread_safety.html">Thread Safety Issues in 2.x</page>
</category>
<category id="index">