|  | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> | 
|  | <html> | 
|  | <head> | 
|  | <title>Running a High-Performance Web Server on HPUX</title> | 
|  | </head> | 
|  |  | 
|  | <!-- Background white, links blue (unvisited), navy (visited), red (active) --> | 
|  | <BODY | 
|  | BGCOLOR="#FFFFFF" | 
|  | TEXT="#000000" | 
|  | LINK="#0000FF" | 
|  | VLINK="#000080" | 
|  | ALINK="#FF0000" | 
|  | > | 
|  | <A NAME="initial"> | 
|  | <DIV ALIGN="CENTER"> | 
|  | <IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]"> | 
|  | <H3> | 
|  | Apache HTTP Server Version 1.3 | 
|  | </H3> | 
|  | </DIV> | 
|  |  | 
|  | </A> | 
|  | <H1 ALIGN="CENTER">Running a High-Performance Web Server for HPUX</H1> | 
|  |  | 
|  | <PRE> | 
|  | Date: Wed, 05 Nov 1997 16:59:34 -0800 | 
|  | From: Rick Jones <<A HREF="mailto:raj@cup.hp.com">raj@cup.hp.com</A>> | 
|  | Reply-To: raj@cup.hp.com | 
|  | Organization: Network Performance | 
|  | Subject: HP-UX tuning tips | 
|  | </PRE> | 
|  |  | 
|  | Here are some tuning tips for HP-UX to add to the tuning page. | 
|  |  | 
|  | <P> | 
|  |  | 
|  | For HP-UX 9.X: Upgrade to 10.20<BR> | 
|  | For HP-UX 10.[00|01|10]: Upgrade to 10.20 | 
|  |  | 
|  | <P> | 
|  |  | 
|  | For HP-UX 10.20: | 
|  |  | 
|  | <P> | 
|  |  | 
|  | Install the latest cumulative ARPA Transport Patch. This will allow you | 
|  | to configure the size of the TCP connection lookup hash table. The | 
|  | default is 256 buckets and must be set to a power of two. This is | 
|  | accomplished with adb against the *disc* image of the kernel. The | 
|  | variable name is tcp_hash_size. | 
|  |  | 
|  | <P> | 
|  |  | 
|  | How to pick the value? Examine the output of | 
|  | <A HREF="ftp://ftp.cup.hp.com/dist/networking/tools/connhist"> | 
|  | ftp://ftp.cup.hp.com/dist/networking/tools/connhist</A> and see how many | 
|  | total TCP connections exist on the system. You probably want that number | 
|  | divided by the hash table size to be reasonably small, say less than 10. | 
|  | Folks can look at HP's SPECweb96 disclosures for some common settings. | 
|  | These can be found at <A HREF="http://www.specbench.org/"> | 
|  | http://www.specbench.org/</A>. If an HP-UX system was | 
|  | performing at 1000 SPECweb96 connections per second, the TIME_WAIT time | 
|  | of 60 seconds would mean 60,000 TCP "connections" being tracked. | 
|  |  | 
|  | <P> | 
|  |  | 
|  | Folks can check their listen queue depths with | 
|  | <A HREF="ftp://ftp.cup.hp.com/dist/networking/misc/listenq"> | 
|  | ftp://ftp.cup.hp.com/dist/networking/misc/listenq</A>. | 
|  |  | 
|  | <P> | 
|  |  | 
|  | If folks are running Apache on a PA-8000 based system, they should | 
|  | consider "chatr'ing" the Apache executable to have a large page size. | 
|  | This would be "chatr +pi L <binary>." The GID of the running executable | 
|  | must have MLOCK priviledges. Setprivgrp(1m) should be consulted for | 
|  | assigning MLOCK. The change can be validated by running Glance and | 
|  | examining the memory regions of the server(s) to make sure that they | 
|  | show a non-trivial fraction of the text segment being locked. | 
|  |  | 
|  | <P> | 
|  |  | 
|  | If folks are running Apache on MP systems, they might consider writing a | 
|  | small program that uses mpctl() to bind processes to processors. A | 
|  | simple pid % numcpu algorithm is probably sufficient. This might even go | 
|  | into the source code. | 
|  |  | 
|  | <P> | 
|  |  | 
|  | If folks are concerned about the number of FIN_WAIT_2 connections, they | 
|  | can use nettune to shrink the value of tcp_keepstart. However, they | 
|  | should be careful there - certainly do not make it less than oh two to | 
|  | four minutes. If tcp_hash_size has been set well, it is probably OK to | 
|  | let the FIN_WAIT_2's take longer to timeout (perhaps even the default | 
|  | two hours) - they will not on average have a big impact on performance. | 
|  |  | 
|  | <P> | 
|  |  | 
|  | There are other things that could go into the code base, but that might | 
|  | be left for another email. Feel free to drop me a message if you or | 
|  | others are interested. | 
|  |  | 
|  | <P> | 
|  |  | 
|  | sincerely, | 
|  |  | 
|  | <P> | 
|  |  | 
|  | rick jones<BR> | 
|  | <A HREF="http://www.cup.hp.com/netperf/NetperfPage.html"> | 
|  | http://www.cup.hp.com/netperf/NetperfPage.html</A> | 
|  |  | 
|  | <HR> | 
|  |  | 
|  | <H3 ALIGN="CENTER"> | 
|  | Apache HTTP Server Version 1.3 | 
|  | </H3> | 
|  |  | 
|  | <A HREF="./"><IMG SRC="../images/index.gif" ALT="Index"></A> | 
|  | <A HREF="../"><IMG SRC="../images/home.gif" ALT="Home"></A> | 
|  |  | 
|  | </body></html> | 
|  |  |