<h3><a id="introduction"
name="introduction">Introduction</a></h3>
- <p>Apache is a general webserver, which is designed to be
- correct first, and fast second. Even so, its performance is
- quite satisfactory. Most sites have less than 10Mbits of
- outgoing bandwidth, which Apache can fill using only a low end
- Pentium-based webserver. In practice sites with more bandwidth
- require more than one machine to fill the bandwidth due to
- other constraints (such as CGI or database transaction
- overhead). For these reasons the development focus has been
- mostly on correctness and configurability.</p>
-
- <p>Unfortunately many folks overlook these facts and cite raw
- performance numbers as if they are some indication of the
- quality of a web server product. There is a bare minimum
- performance that is acceptable, beyond that extra speed only
- caters to a much smaller segment of the market. But in order to
- avoid this hurdle to the acceptance of Apache in some markets,
- effort was put into Apache 1.3 to bring performance up to a
- point where the difference with other high-end webservers is
- minimal.</p>
-
- <p>Finally there are the folks who just plain want to see how
- fast something can go. The author falls into this category. The
- rest of this document is dedicated to these folks who want to
- squeeze every last bit of performance out of Apache's current
- model, and want to understand why it does some things which
- slow it down.</p>
-
- <p>Note that this is tailored towards Apache 1.3 on Unix. Some
- of it applies to Apache on NT. Apache on NT has not been tuned
- for performance yet; in fact it probably performs very poorly
- because NT performance requires a different programming
- model.</p>
+ <p>Apache 2.0 is a general-purpose webserver, designed to
+ provide a balance of flexibility, portability, and performance.
+ Although it has not been designed specifically to set benchmark
+ records, Apache 2.0 is capable of high performance in many
+ real-world situations.</p>
+
+ <p>Compared to Apache 1.3, release 2.0 contains many additional
+ optimizations to increase throughput and scalability. Most of
+ these improvements are enabled by default. However, there are
+ compile-time and run-time configuration choices that can
+ significantly affect performance. This document describes the
+ options that a server administrator can configure to tune the
+ performance of an Apache 2.0 installation. Some of these
+ configuration options enable the httpd to better take advantage
+ of the capabilities of the hardware and OS, while others allow
+ the administrator to trade functionality for speed.</p>
+
<hr />
<h3><a id="hardware" name="hardware">Hardware and Operating
<ul>
<li>Run the latest stable release and patchlevel of the
operating system that you choose. Many OS suppliers have
- introduced significant performance improvements their
+ introduced significant performance improvements to their
TCP stacks and thread libraries in recent years.</li>
<li>If your OS supports a sendfile(2) system call, make
sure you install the release and/or patches needed to