mirror of
				https://github.com/apache/httpd.git
				synced 2025-10-30 08:05:39 +03:00 
			
		
		
		
	Submitted by: rick jones <raj@cup.hp.com> PR: 3214 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@82302 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			123 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!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"> </A>
 | |
| <!--#include virtual="header.html" -->
 | |
| 
 | |
| <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.
 | |
| 
 | |
| Notice that it's critically important that you use "W" to write a 32 bit
 | |
| quantity, not "w" to write a 16 bit value when patching the disc image because
 | |
| the tcp_hash_size variable is a 32 bit quantity.
 | |
| 
 | |
| <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 privileges. 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>
 | |
| 
 |