perf.html revision 2def4b444619c4a3f1508662c0feee58cd96a3ba
7cb14f34a92e0a8eae07db027344126bf5c901c9KATOH Yasufumi<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
2b371b262f7272266ff18cc2aff65176a2c16383Sungbae Yoo<html>
7cb14f34a92e0a8eae07db027344126bf5c901c9KATOH Yasufumi<head>
7cb14f34a92e0a8eae07db027344126bf5c901c9KATOH Yasufumi<title>Hints on Running a High-Performance Web Server</title>
2b371b262f7272266ff18cc2aff65176a2c16383Sungbae Yoo</head>
7cb14f34a92e0a8eae07db027344126bf5c901c9KATOH Yasufumi
892bd61e0fcc788390abfadd32b1897943290879dlezcano<body>
953e611ceabed9ccf986e0b234379c2af4bb331aJames Hunt<IMG SRC="/images/apache_sub.gif" ALT="">
953e611ceabed9ccf986e0b234379c2af4bb331aJames Hunt<h2>Hints on Running a High-Performance Web Server</H2>
953e611ceabed9ccf986e0b234379c2af4bb331aJames Hunt
953e611ceabed9ccf986e0b234379c2af4bb331aJames HuntRunning Apache on a heavily loaded web server, one often encounters
5c320b769229d713e84b02ed6b7ae1309ac31dbbGuido Trotterproblems related to the machine and OS configuration. "Heavy" is
55fc19a1042bca36ae431cb4a51c2abc0ca4d801Stéphane Graberrelative, of course - but if you are seeing more than a couple hits
55fc19a1042bca36ae431cb4a51c2abc0ca4d801Stéphane Graberper second on a sustained basis you should consult the pointers on
c13c0e08da7dbfecb52e85233ac6cd17afa5d818Stéphane Graberthis page. In general the suggestions involve how to tune your kernel
892bd61e0fcc788390abfadd32b1897943290879dlezcanofor the heavier TCP load, hardware/software conflicts that arise, etc.
d1de19abd0067f38bc08a4a3357de701a4e5571ddlezcano
d1de19abd0067f38bc08a4a3357de701a4e5571ddlezcano<UL>
4019712d198a7d50b08b326ade17f5ff1666efbbStéphane Graber<LI><A HREF="#AUX">A/UX (Apple's UNIX)</A>
a6adab20ff4b58887ff1d4314c5736f54e139386Stéphane Graber<LI><A HREF="#BSD">BSD-based (BSDI, FreeBSD, etc)</A>
4019712d198a7d50b08b326ade17f5ff1666efbbStéphane Graber<LI><A HREF="#DEC">Digital UNIX</A>
4019712d198a7d50b08b326ade17f5ff1666efbbStéphane Graber<LI><A HREF="#HP">Hewlett-Packard</A>
735f2c6e504a541cbb2592a3f94858bf337a24ffTycho Andersen<LI><A HREF="#Linux">Linux</A>
ff5e27510540a2ee3c66d8496996313d01bb848fStéphane Graber<LI><A HREF="#SGI">SGI</A>
4019712d198a7d50b08b326ade17f5ff1666efbbStéphane Graber<LI><A HREF="#Solaris">Solaris</A>
2b47bac3f81af9eb8ba392867c78fe3dec40a36aChristian Brauner<LI><A HREF="#SunOS">SunOS 4.x</A>
d1de19abd0067f38bc08a4a3357de701a4e5571ddlezcano</UL>
d1de19abd0067f38bc08a4a3357de701a4e5571ddlezcano
03f09a8ada8dcf15923b5913ec832e005179f962Wolfgang Bumiller<HR>
d1de19abd0067f38bc08a4a3357de701a4e5571ddlezcano
4019712d198a7d50b08b326ade17f5ff1666efbbStéphane Graber<A NAME="AUX">
4019712d198a7d50b08b326ade17f5ff1666efbbStéphane Graber<H3>A/UX (Apple's UNIX)</H3>
94891ea3e44961f4369a7cc67d38c3a98a0e4c54Stéphane Graber</A>
4019712d198a7d50b08b326ade17f5ff1666efbbStéphane Graber
813a4837659d5d7a2c0d0abe03c87196747217e9Serge HallynIf you are running Apache on A/UX, a page that gives some helpful
d1de19abd0067f38bc08a4a3357de701a4e5571ddlezcanoperformance hints (concerning the <I>listen()</I> queue and using
d1de19abd0067f38bc08a4a3357de701a4e5571ddlezcanovirtual hosts)
e71549fc7e1455d7bb8d7bdb26b9276093fd27c6Stéphane Graber<A HREF="http://www.jaguNET.com/apache.html">can be found here</A>
d1de19abd0067f38bc08a4a3357de701a4e5571ddlezcano
810567bbbe283c547e4ac837545d1e592916df26Serge Hallyn<P><HR>
df3415e02282317348bbd5f9ce66d03e1c81eeecSerge Hallyn
adade80c7e74c5185f63ff009116bf9d30c79876Serge Hallyn<A NAME="BSD">
d1de19abd0067f38bc08a4a3357de701a4e5571ddlezcano<H3>BSD-based (BSDI, FreeBSD, etc)</H3>
8a67a2b2eaf28033962a432c214bd3303c29c54cdlezcano</A>
8b8b04f80adf21480c25deb1aae263049ddd6754dlezcano
55fc19a1042bca36ae431cb4a51c2abc0ca4d801Stéphane Graber<A HREF="perf-bsd44.html#initial">Quick</A> and
55fc19a1042bca36ae431cb4a51c2abc0ca4d801Stéphane Graber<A HREF="perf-bsd44.html#detail">detailed</A>
df3415e02282317348bbd5f9ce66d03e1c81eeecSerge Hallynperformance tuning hints for BSD-derived systems.
8b8b04f80adf21480c25deb1aae263049ddd6754dlezcano
8b8b04f80adf21480c25deb1aae263049ddd6754dlezcano<P><HR>
d1de19abd0067f38bc08a4a3357de701a4e5571ddlezcano
d0a6bd39400a6d14cfec94ad647f3af1bda1e321Christian Brauner<A NAME="DEC">
d0a6bd39400a6d14cfec94ad647f3af1bda1e321Christian Brauner<H3>Digital UNIX</H3>
6a85cf91247b7dd9c3faeddceca8dacb96d02cd6Stéphane Graber</A>
4019712d198a7d50b08b326ade17f5ff1666efbbStéphane Graber
6a85cf91247b7dd9c3faeddceca8dacb96d02cd6Stéphane GraberWe have some <A HREF="perf-dec.html">newsgroup postings</A> on how to
d0a6bd39400a6d14cfec94ad647f3af1bda1e321Christian Braunertune Digital UNIX 3.2 and 4.0.
d1de19abd0067f38bc08a4a3357de701a4e5571ddlezcano
aa8d013ec5b09cd1cd904173d6234ef126eb2126Peter Simons<P><HR>
7822022c4c72cee06905b540b89b653491d6f6b2Stéphane Graber
6a85cf91247b7dd9c3faeddceca8dacb96d02cd6Stéphane Graber<A NAME="HP">
8a67a2b2eaf28033962a432c214bd3303c29c54cdlezcano<H3>Hewlett-Packard</H3>
aa8d013ec5b09cd1cd904173d6234ef126eb2126Peter Simons</A>
7822022c4c72cee06905b540b89b653491d6f6b2Stéphane Graber
6a85cf91247b7dd9c3faeddceca8dacb96d02cd6Stéphane GraberSome documentation on tuning HP machines can be found at <A
8a67a2b2eaf28033962a432c214bd3303c29c54cdlezcanoHREF="http://www.software.hp.com/internet/perf/tuning.html">http://www.software.hp.com/internet/perf/tuning.html</A>.
aa8d013ec5b09cd1cd904173d6234ef126eb2126Peter Simons
7822022c4c72cee06905b540b89b653491d6f6b2Stéphane Graber<P><HR>
6a85cf91247b7dd9c3faeddceca8dacb96d02cd6Stéphane Graber
99e4008cad9e959b683c6f48411fcf15a92be3b5Michel Normand<A NAME="Linux">
10fba81b9d0221b8e47aa1e0b43236413b7d28dfMichel Normand<H3>Linux</H3>
8b8b04f80adf21480c25deb1aae263049ddd6754dlezcano</A>
9a42db48e0bcf4f34b05a3de1cda23e06f51d131Stéphane Graber
3b9246c4aae3f7602c0ad64f5b1204eb559e5b07Daniel LezcanoThe most common problem on Linux shows up on heavily-loaded systems
892bd61e0fcc788390abfadd32b1897943290879dlezcanowhere 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>