유용한 정보<컴퓨터>/홈서버

Apache 웹서버 최적화

조남식 2011. 12. 30. 17:47

 * Redhat Linux에서 테스트되었습니다.

 필자가 약 1년간 Redhat Linux 운영체제 기반 웹서버를 직접 운영하고 관리하면서 만족스러운 성능향상효과를 경험한 Apache 웹서버 최적화 값을 공유합니다. 이 포스트에서 소개하는 내용 중 일부는 Windows 운영체제용 Apache 웹서버와 호환되지 않을 수 있으며, 설정을 변경하기 전 원본값을 다른 곳에 백업해두는 것을 권장합니다.


최대 접속자수 제한

<IfModule prefork.c>
 StartServer : 25
 MinSpareServers : 25
 MaxSpareServers : 100
 ServerLimit : 750
 MaxClient : 750
 MaxRequestsPerChild : 4000
</IfModule>
 회색박스에 삽입된 <>는 블로그 서비스의 특성상 특수문자로 처리되어 있으니 반드시 일반 문구로 변경한 후 적용하시기 바랍니다. StartServer는 시작할 서버의 수, MinSpareServer는 최소 서버 수, MaxSpareServer는 최대 서버 수, ServerLimit은 서버의 한계 자원, MaxClient는 최대 접속자 수, MaxRequestsPerChild는 아파치 서버 자식 개수를 이야기하며 웹서버의 자원이 충분하다면 해당 값을 적절하게 늘려 사용하면 됩니다.


KeepAlive 설정

KeepAlive On
KeepAliveTimeout 10
 KeepAlive는 일정시간이 지난 후 자동으로 서버의 접속이 끊어지도록 설정하여 Apache의 무거움을 최소화 시켜주는 기능입니다. 국내의 경우 초고속 인터넷망이 확산되어 있기 때문에 3초 정도로 지정하여 사용하면 충분하지만, 글로벌 홈페이지의 경우에는 10초 이상으로 설정하여 사용하는 것을 권장합니다.


Timeout 설정하기

Timeout 20
 Timeout은 사용자가 아무 반응을 하지 않아도 접속을 언제까지 유지시킬 것인지 지정할 수 있습니다.
 필자의 경우에는 최초 10초로 지정하여 웹서버를 운영하였으나, 필자가 제로보드XE, 텍스트큐브를 테스트하던 도중에 사소한 문제점들이 발견되어 Timeout을 1초단위로 조정하여 확인해본결과 20초가 가장 안정적이었습니다. 이 부분은 사용자의 서버의 환경에 맞도록 설정하여 사용하시면 되는 항목입니다.