<-
Apache > HTTP Server > Documentation > Version 2.0 > Platform Specific Notes

Please note

This document refers to the 2.0 version of Apache httpd, which is no longer maintained. Upgrade, and refer to the current version of httpd instead, documented at:

You may follow this link to go to the current version of this document.

HPUX에서 고성능 웹서버 실행하기

가능한 언어:  en  |  ko 

Date: Wed, 05 Nov 1997 16:59:34 -0800
From: Rick Jones <raj@cup.hp.com>
Reply-To: raj@cup.hp.com
Organization: Network Performance
Subject: HP-UX tuning tips

이 글은 성능향상 페이지에 추가할 HP-UX 성능향상 팁이다.

HP-UX 9.X는: 10.20으로 업그레이드하라
HP-UX 10.[00|01|10]은: 10.20으로 업그레이드하라

HP-UX 10.20은:

최근 ARPA Transport 패치 모음을 설치한다. 그러면 TCP 연결찾기 해쉬테이블 크기를 설정할 수 있다. 기본값은 256 개이고, 2의 거듭제곱값으로 지정해야 한다. adb로 커널의 *disc* 이미지를 수정하여 설정한다. 변수명은 tcp_hash_size이다. tcp_hash_size 변수값이 32비트이므로 disc 이미지를 수정할때 반드시 16비트 값을 기록하는 "w" 대신 32비트 값을 기록하는 "W"를 사용해야 한다.

어떤 값을 고를까? ftp://ftp.cup.hp.com/dist/networking/tools/connhist의 결과를 보고, 시스템에 존재하는 TCP 연결 총개수를 살펴봐라. 이 숫자를 해쉬테이블 크기로 나눈 값이 상당히 (10 이하) 작으면 좋다. HP의 SPECweb96 결과에서 일반적인 설정을 볼 수 있다. 결과는 http://www.specbench.org/에 있다. HP-UX 시스템이 초당 1000번 SPECweb96 연결을 하는 경우 TIME_WAIT가 60초라면 60,000개의 TCP "연결"을 추적한다는 뜻이다.

ftp://ftp.cup.hp.com/dist/networking/misc/listenq를 실행하여 시스템의 연결대기행렬 깊이를 알 수 있다.

PA-8000기반 시스템에서 아파치를 실행한다면, 아파치 실행파일이 큰 페이지크기를 사용하도록 "chatr"한다. 명령은 "chatr +pi L <실행파일>"이다. 실행파일을 실행하는 GID에 MLOCK 권한이 반드시 필요하다. MLOCK 부여에 대해서는 Setprivgrp(1m)를 참고하라. 수정후 Glance를 실행하여 서버의 메모리영역을 살펴보면 상당한 text 세그먼트가 잠겨있음을 확인할 수 있다.

다중프로세스 시스템에서 아파치를 실행한다면, 프로세스를 프로세스에 배정하는 mpctl()를 사용한 작은 프로그램을 작성해봐라. 단순한 pid % numcpu 알고리즘으로도 충분할 것이다. 이 부분은 앞으로 소스코드에 포함될 수 있다.

FIN_WAIT_2 연결의 개수가 걱정스럽다면, nettune을 사용하여 tcp_keepstart 값을 줄일 수 있다. 그러나 조심해야 한다 - 4분 보다 작게 설정하지 마라. tcp_hash_size를 잘 설정하였다면, FIN_WAIT_2 값이 커도 (심지어 기본값인 2시간도) 문제없다 - 보통 성능에 큰 영향을 주지 않는다.

앞으로 소스코드에 포함될 부분이 더 있지만, 여기서 줄인다. 관심이 있다면 메일을 주길 바란다.

그럼 이만,

rick jones

http://www.cup.hp.com/netperf/NetperfPage.html

가능한 언어:  en  |  ko