diff options
Diffstat (limited to 'docs/manual/platform/perf.html')
-rw-r--r-- | docs/manual/platform/perf.html | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/docs/manual/platform/perf.html b/docs/manual/platform/perf.html deleted file mode 100644 index 73bd5b5b20..0000000000 --- a/docs/manual/platform/perf.html +++ /dev/null @@ -1,175 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<HTML> -<HEAD> -<TITLE>Hints on Running a High-Performance Web Server</TITLE> -</HEAD> - -<!-- Background white, links blue (unvisited), navy (visited), red (active) --> -<BODY - BGCOLOR="#FFFFFF" - TEXT="#000000" - LINK="#0000FF" - VLINK="#000080" - ALINK="#FF0000" -> -<!--#include virtual="header.html" --> -<H1 ALIGN="CENTER">Hints on Running a High-Performance Web Server</H1> - -Running Apache on a heavily loaded web server, one often encounters -problems related to the machine and OS configuration. "Heavy" is -relative, of course - but if you are seeing more than a couple hits -per second on a sustained basis you should consult the pointers on -this page. In general the suggestions involve how to tune your kernel -for the heavier TCP load, hardware/software conflicts that arise, <EM>etc.</EM> - -<UL> -<LI><A HREF="#AUX">A/UX (Apple's UNIX)</A> -<LI><A HREF="#BSD">BSD-based (BSDI, FreeBSD, etc)</A> -<LI><A HREF="#DEC">Digital UNIX</A> -<LI><A HREF="perf-hp.html">HPUX</A> -<LI><A HREF="#Linux">Linux</A> -<LI><A HREF="#Solaris">Solaris</A> -<LI><A HREF="#SunOS">SunOS 4.x</A> -<LI><A HREF="#SVR4">SVR4</A> -</UL> - -<HR> - -<H3><A NAME="AUX"> -A/UX (Apple's UNIX) -</A></H3> - -If you are running Apache on A/UX, a page that gives some helpful -performance hints (concerning the <EM>listen()</EM> queue and using -virtual hosts) -<A HREF="http://www.jaguNET.com/apache.html">can be found here</A> - -<P><HR> - -<H3><A NAME="BSD"> -BSD-based (BSDI, FreeBSD, etc) -</A></H3> - -<A HREF="perf-bsd44.html#initial">Quick</A> and -<A HREF="perf-bsd44.html#detail">detailed</A> -performance tuning hints for BSD-derived systems. - -<P><HR> - -<H3><A NAME="DEC"> -Digital UNIX -</A></H3> - -<UL> - <LI><A - HREF="http://www.digital.com/info/internet/document/ias/tuning.html" - >DIGITAL UNIX Tuning Parameters for Web Servers</A> - <LI>We have some <A HREF="perf-dec.html">newsgroup postings</A> on how - to tune Digital UNIX 3.2 and 4.0. -</UL> - -<P><HR> - -<H3><A NAME="Linux"> -Linux -</A></H3> - -There are no known problems with heavily loaded systems running Linux -kernels 2.0.32 or later. Earlier kernels have some problems, and an -upgrade to the latest 2.0.x is a good idea to eliminate various security -and denial of service attacks. - -<P><HR> - -<H3><A NAME="Solaris"> -Solaris 2.4 -</A></H3> - -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. - -<P> - -Other links: - -<UL> - -<LI><A HREF="http://www.sun.com/sun-on-net/performance.html"> -World Wide Web Server Performance, -<http://www.sun.com/sun-on-net/performance.html></A> -<LI><A HREF="http://www.rvs.uni-hannover.de/people/voeckler/tune/EN/tune.html"> -Solaris 2.x - tuning your TCP/IP stack</A> contains some good technical -information about tuning various Solaris TCP/IP parameters. -</UL> - -<P><HR> - -<H3><A NAME="SunOS"> -SunOS 4.x -</A></H3> - -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><A NAME="SVR4"> -SVR4 -</A></H3> - -Some SVR4 versions waste three system calls on every -<SAMP>gettimeofday()</SAMP> call. Depending on the syntactic -form of the <SAMP>TZ</SAMP> environment variable, these -systems have several different algorithms to determine the -local time zone (presumably <EM>compatible</EM> with -something). The following example uses the central european -time zone to demonstrate this: -<DL> - <DT><STRONG>TZ=:MET</STRONG> - <DD>This form delegates the knowledge of the time zone - information to an external compiled zoneinfo file - (à la BSD).<BR> - <STRONG>Caveat:</STRONG> Each time the gettimeofday() - function is called, the external zone info is read in - again (at least on some SVR4 systems). That results in - three wasted system calls with every apache request - served.<PRE> - open("/usr/lib/locale/TZ/MET", O_RDONLY) = 3 - read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 7944) = 778 - close(3) = 0</PRE> - - <DT><STRONG>TZ=MET-1MDT,M3.5.0/02:00:00,M10.5.0/03:00:00</STRONG> - <DD>This syntax form (à la SYSV) contains all the - knowledge about time zone beginning and ending times in - its external representation. It has to be parsed each - time it is evaluated, resulting in a slight computing - overhead, but it requires no system call. Though the - table lookup à la BSD is the more sophisticated - technical solution, the bad SVR4 implementation makes - this the preferred syntax on systems which otherwise - access the external zone info file repeatedly. -</DL> -You should use the <SAMP>truss</SAMP> utility on a -single-process apache server (started with the <SAMP>-X</SAMP> -debugging switch) to determine whether your system can profit -from the second form of the <SAMP>TZ</SAMP> environment -variable. If it does, you could integrate the setting of the -preferred <SAMP>TZ</SAMP> syntax into the httpd startup -script, which is usually simply a copy of (or symbolic link -to) the <SAMP>apachectl</SAMP> utility script, or into the -system's <SAMP>/etc/TIMEZONE</SAMP> script. - -<P><HR> - -<H3>More welcome!</H3> - -If you have tips to contribute, send mail to <A -HREF="mailto:apache@apache.org">apache@apache.org</A> - -<!--#include virtual="footer.html" --> -</BODY></HTML> - |