This is a WORK-IN-PROGRESS, so keep checking back as I find time to add pointers and tips to this page.

   

Apache Tuning Guide

 
- -
-    -
-

Current stable released Apache version is: 2.0.49.

Apache News

Current Apache development news

  • The Apache Group is pleased to announce the release of the 1.3.12 version of the Apache HTTP server. The main improvements
  • in this release are those pertaining to the Cross Site Scripting security problem that was announced in a recent CERT Advisory.
  • Apache 1.3.12 is the best version of Apache currently available; everyone running 1.2.X servers or earlier should upgrade to 1.3, as there will not be any further 1.2.X releases.
  • At present, the Win32 port of Apache is not as stable as the UNIX version. Further releases of the 1.3.x tree will bring the Win32 port closer to parity.
  • Apache 2.0a4 is a public alpha of the forthcoming Apache 2.0, an update which includes several new enhancements, including the new Apache Portable Run-time and the new Multi-processing modules. This is an alpha release, and is for experimental purposes; use at your own risk. It is available in source format only, so a compiler is neccessary to use it.
  • If you are not familiar with software development, and wish to use a stable, working, web server, we strongly recommend you download Apache 1.3.12 instead. Please report any bugs you find.

OS Independent


On UNIX, the Apache model is independent process for each connection. This is true up to version 1.X for UNIX. There is a threaded port for Win32, however that is still in early beta. This guide will discuss tuning for the process model.

These tips will apply to Apache running on any OS, both UNIX and NT. You need to ask yourself these questions and have them answered before you could design a kickass web server (based on ANY server software).

  • Always make sure you are running the latest stable version of Apache. As of the writing of this document, that would be version 1.3.12.


  • Do a review of your intended web site usage. Some of the questions you may want to ask yourself are:


    • Will the site be mostly static HTML?
    • Will there be lots of CGI? What kind? Perl? PHP?
    • Instead of CGI, are you going to be using an embedded server side technology? Such as ASP? Perl Module? PHP3 or PHP4? Java Servlet?
    • Databases? Oracle? MSSQL? Mysql? Postgres? ODBC?

Don't forget that hardware also make a big difference. It is not so much money you spent, as to how well you spent it. That is, the components you purchased make a much bigger impact than how much each cost.

Buying the right piece of hardware can make or break the performance of your web server. I will talk a little more about it later.


OS Dependent

This section pertain to tuning tips that are OS dependent.

Solaris - both Sparc and x86

This guide is geared toward v2.6 and later. Some tips may apply to v2.5.1, but I strongly recommend upgrading to at least v2.6 as the network code has vastly improved.

Linux - All architectures

This guide is geared toward Linux 2.2 and later. Some tips may apply to pre-2.0 Linux, but I strongly recommend that you run at least the stable Linux 2.2.x series.


Useful Links

Some useful links



<-- [Tin Home Page]Tin Le Home...

Last Updated: $Date: 2000/07/18 05:33:41 $