perf.html revision 2def4b444619c4a3f1508662c0feee58cd96a3ba
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<html>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<head>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<title>Hints on Running a High-Performance Web Server</title>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering</head>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<body>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<IMG SRC="/images/apache_sub.gif" ALT="">
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<h2>Hints on Running a High-Performance Web Server</H2>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering
84e51726a38e133ca42d2f30f0668d3921b210cbLennart PoetteringRunning Apache on a heavily loaded web server, one often encounters
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poetteringproblems related to the machine and OS configuration. "Heavy" is
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poetteringrelative, of course - but if you are seeing more than a couple hits
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poetteringper second on a sustained basis you should consult the pointers on
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poetteringthis page. In general the suggestions involve how to tune your kernel
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poetteringfor the heavier TCP load, hardware/software conflicts that arise, etc.
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<UL>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<LI><A HREF="#AUX">A/UX (Apple's UNIX)</A>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<LI><A HREF="#BSD">BSD-based (BSDI, FreeBSD, etc)</A>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<LI><A HREF="#DEC">Digital UNIX</A>
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering<LI><A HREF="#HP">Hewlett-Packard</A>
71d35b6b5563817dfbe757ab9e3b9f018b2db491Thomas Hindoe Paaboel Andersen<LI><A HREF="#Linux">Linux</A>
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering<LI><A HREF="#SGI">SGI</A>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<LI><A HREF="#Solaris">Solaris</A>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<LI><A HREF="#SunOS">SunOS 4.x</A>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering</UL>
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering<HR>
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering<A NAME="AUX">
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering<H3>A/UX (Apple's UNIX)</H3>
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering</A>
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering
84e51726a38e133ca42d2f30f0668d3921b210cbLennart PoetteringIf you are running Apache on A/UX, a page that gives some helpful
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poetteringperformance hints (concerning the <I>listen()</I> queue and using
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poetteringvirtual hosts)
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering<A HREF="http://www.jaguNET.com/apache.html">can be found here</A>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<P><HR>
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<A NAME="BSD">
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<H3>BSD-based (BSDI, FreeBSD, etc)</H3>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering</A>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering<A HREF="perf-bsd44.html#initial">Quick</A> and
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering<A HREF="perf-bsd44.html#detail">detailed</A>
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poetteringperformance tuning hints for BSD-derived systems.
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering<P><HR>
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering<A NAME="DEC">
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<H3>Digital UNIX</H3>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering</A>
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering
84e51726a38e133ca42d2f30f0668d3921b210cbLennart PoetteringWe have some <A HREF="perf-dec.html">newsgroup postings</A> on how to
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poetteringtune Digital UNIX 3.2 and 4.0.
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<P><HR>
3b1c524154c876aecebc98787975cc2943100210Shawn Landden
84e51726a38e133ca42d2f30f0668d3921b210cbLennart Poettering<A NAME="HP">
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering<H3>Hewlett-Packard</H3>
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering</A>
874ff7bf4d6fe693542209f127d23cd89adc499bLennart Poettering
874ff7bf4d6fe693542209f127d23cd89adc499bLennart PoetteringSome documentation on tuning HP machines can be found at <A
HREF="http://www.software.hp.com/internet/perf/tuning.html">http://www.software.hp.com/internet/perf/tuning.html</A>.
<P><HR>
<A NAME="Linux">
<H3>Linux</H3>
</A>
The most common problem on Linux shows up on heavily-loaded systems
where the whole server will appear to freeze for a couple of minutes
at a time, and then come back to life. This has been traced to a
listen() queue overload - certain Linux implementations have a low
value set for the incoming connection queue which can cause problems.
Please see our <a
href="http://www.qosina.com/~awm/apache/linux-tcp.html">Using Apache on
Linux</a> page for more info on how to fix this.
<P><HR>
<A NAME="SGI">
<H3>SGI</H3>
<UL>
<LI><A HREF="http://www.sgi.com/Products/WebFORCE/TuningGuide.html">
WebFORCE Web Server Tuning Guidelines for IRIX 5.3,
&lt;http://www.sgi.com/Products/WebFORCE/TuningGuide.html&gt;</A>
</UL>
<P><HR>
<A NAME="Solaris">
<H3>Solaris 2.4</H3>
</A>
The Solaris 2.4 TCP implementation has a few inherent limitations that
only became apparent under heavy loads. This has been fixed to some
extent in 2.5 (and completely revamped in 2.6), but for now consult
the following URL for tips on how to expand the capabilities if you
are finding slowdowns and lags are hurting performance.
<UL>
<LI><A href="http://www.sun.com/cgi-bin/show?sun-on-net/Sun.Internet.Solutions/performance/">
World Wide Web Server Performance,
&lt;http://www.sun.com/cgi-bin/show?sun-on-net/Sun.Internet.Solutions/performance/&gt;</a>
</UL>
<P><HR>
<A NAME="SunOS">
<H3>SunOS 4.x</H3>
</A>
More information on tuning SOMAXCONN on SunOS can be found at
<A HREF="http://www.islandnet.com/~mark/somaxconn.html">
http://www.islandnet.com/~mark/somaxconn.html</A>.
<P><HR>
<H3>More welcome!</H3>
If you have tips to contribute, send mail to <a
href="mailto:brian@organic.com">brian@organic.com</a>
<P><HR><P>
<A HREF="/"><IMG SRC="/images/apache_home.gif" ALT="Home"></A>
<A HREF="."><IMG SRC="/images/apache_index.gif" ALT="Index"></A>
</body></html>