Monthly Archives: December 2014

Home »  2014 »  December

apache – TIME_WAIT 줄이기

1. Apache Keep Alive 옵션 조절
Apache 같은 web server로 운영한다면, KeepAlive Option 을 고려할 수 있습니다.
KeepAlive Option을 On 으로 해놓을 경우 Client를 접속시킨 채로 특별한 요청없이 지속적인 연결을 허용하게 됩니다. 이경우 KeepAliveTimeout 설정으로 연결유지 타임을 설정할 수 있습니다.
(이경우 web server에서 응답시 헤더에 Connection : close 의 정보가 없이 날라가게 됨)
하지만 위의 설정은 약이되고 독이될 수 있어 보입니다.
Client 가 정해져있는 server to server http 연동 I/F 용으로 사용되는 웹서버의 경우 위 설정으로 TIME_WAIT 을 줄이는 효과를 기대할 수 있을거 같습니다.
하지만 web 서비스 를 하는 용도라면 불필요하게 커넥션을 유지하여 오히려 http thread 갯수만 늘어나서 독이될 수 있습니다.
(최대 용량은 아직 놀고있으면서 커넥션이 안되어서 TPS가 현저하게 떨어질 것으로 예상..)
용도별로 Apache Port 분리하여 KeepAlive Option을 적절히 이용하는게 해법일 수 있겠습니다.
2. 커널 파라미터 튜닝net.ipv4.tcp_fin_timeout = 30
: FIN_TIMEOUT 대기 시간을 줄이면 끊어진 소켓의 소거 시간을 줄일 수 있음
net.ipv4.tcp_rfc1337 = 1
: 클라이언트의 소켓으로부터 RST를 받아 TIME_WAIT 상태로 가는 경우 즉시 소켓을 종료시킴
net.ipv4.tcp_max_tw_buckets =2000000
: 동시에 유지 가능한 timewait 소켓의 […]

mod_rpaf 설치

apache log상에 프록시 IP만 찍힐때 apache 모듈을 추가!
apache 2.2 에 설치함.
wget msnote.co.kr/file/mod_rpaf-0.6.tar.gz
tar zxvf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6.tar.gz
/usr/local/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
– httpd.conf 추가 > LoadModule rpaf_module modules/mod_rpaf-2.0.so
– vhost추가 >
RPAFenable On
RPAFsethostname On
RPAFproxy_ips xxx.xx.xx.12 << 프록시IP
RPAFheader X-Forwarded-For