mirror of
				https://github.com/apache/httpd.git
				synced 2025-10-31 19:10:37 +03:00 
			
		
		
		
	git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91116 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			101 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 | |
|     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | |
| 
 | |
| <html xmlns="http://www.w3.org/1999/xhtml">
 | |
|   <head>
 | |
|     <meta name="generator" content="HTML Tidy, see www.w3.org" />
 | |
| 
 | |
|     <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 id="initial" 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>
 | |
| 
 | |
|     <p>For HP-UX 10.20:</p>
 | |
| 
 | |
|     <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>
 | |
| 
 | |
|     <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>
 | |
| 
 | |
|     <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>
 | |
| 
 | |
|     <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>
 | |
| 
 | |
|     <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>
 | |
| 
 | |
|     <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>
 | |
| 
 | |
|     <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>
 | |
| 
 | |
|     <p>sincerely,</p>
 | |
| 
 | |
|     <p>rick jones<br />
 | |
|      <a
 | |
|     href="http://www.cup.hp.com/netperf/NetperfPage.html">http://www.cup.hp.com/netperf/NetperfPage.html</a></p>
 | |
|     <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>
 | |
| 
 |