Download : [mod_sockopts_1.0.tar.bz2]
TCP_DEFER_ACCEPT 를 apache_1.3.x 에 직접 패치를 가하지 않고 모듈 형태로 만든 프로그램이다.
실제 아파치 소스에 패치를 가하지 않고 모듈 형태로 구현한 것인데 이미 기존에 같은 생각으로
만들어져 있던 아파치 모듈이 있었다. (original source)
나는 내 스타일로 새로 작성하였고 몇개의 소켓 옵션도 추가 하였다.
나는 TCP_DEFER_ACCEPT 만을 테스트 하였고 다른 추가적인 옵션들에 대해서 실제 정상 작동을 장담 할 수 없다.^^
- By YoungJoo-Kim <bando@bando.org>
* 소개
말그대로 setsockopt 를 이용 소켓 옵션을 설정 하는 모듈이다.
다음에 오는 리스트들이 설정 가능한 소켓 옵션들이다 :
TCP_DEFER_ACCEPT
SO_SNDTIMEO
SO_RCVTIMEO
SO_SNDBUF
SO_RCVBUF
다음에 오는 리스트들이 설정 가능한 소켓 옵션들이다 :
TCP_DEFER_ACCEPT
SO_SNDTIMEO
SO_RCVTIMEO
SO_SNDBUF
SO_RCVBUF
* 설치하기
1. DSO 미지원 컴파일
[root@root apache]# ./configure --add-module=mod_sockopts.c
[root@root apache]# make
[root@root apache]# make install
2. DSO 지원 컴파일
[root@root mod_sockopts]# apxs -iac mod_sockopts.c
[root@root apache]# ./configure --add-module=mod_sockopts.c
[root@root apache]# make
[root@root apache]# make install
2. DSO 지원 컴파일
[root@root mod_sockopts]# apxs -iac mod_sockopts.c
* 설정하기
1. httpd.conf
LoadModule sockopts_module libexec/mod_sockopts.so
AddModule mod_sockopts.c
<IfModule mod_sockopts.c>
# TCP_DEFER_ACCEPT
SoTcpDeferAccept 20
# SO_SNDTIMEO - not effective(socket is not closed and be continued the data transfering)
# SoSoSndTimeo 5
# SO_RCVTIMEO - not effective(socket is not closed and be continued the data transfering)
# SoSoRcvTimeo 5
# SO_SNDBUF
# SoSoSndBuf 512
# SO_RCVBUF
# SoSoRcvBuf 512
</IfModule>
LoadModule sockopts_module libexec/mod_sockopts.so
AddModule mod_sockopts.c
<IfModule mod_sockopts.c>
# TCP_DEFER_ACCEPT
SoTcpDeferAccept 20
# SO_SNDTIMEO - not effective(socket is not closed and be continued the data transfering)
# SoSoSndTimeo 5
# SO_RCVTIMEO - not effective(socket is not closed and be continued the data transfering)
# SoSoRcvTimeo 5
# SO_SNDBUF
# SoSoSndBuf 512
# SO_RCVBUF
# SoSoRcvBuf 512
</IfModule>
* LINK
http://articles.techrepublic.com.com/5100-10878_11-1050771.html
http://www.archivum.info/linux-kernel@vger.kernel.org/2007-11/msg01857.html
http://httpd.apache.org/docs/1.3/misc/fin_wait_2.html
http://eregie.premier-ministre.gouv.fr/manual/misc/perf-tuning.html
http://www.archivum.info/linux-kernel@vger.kernel.org/2007-11/msg01857.html
http://httpd.apache.org/docs/1.3/misc/fin_wait_2.html
http://eregie.premier-ministre.gouv.fr/manual/misc/perf-tuning.html
