본문
동시 접속자 수 늘리기 (아파치 2.2.19)
동접자 늘리기 httpd.conf 등을 통하여 동접자를 늘릴 수 있으나 (방법은 구글링 하면 많이 나옴. 첨부링크 참조)
ServerLimit 이상은 늘릴 수 없다 ServerLimit 는 아파치 컴파일시 정해준다.
하지만, 확인 결과 apache 2.2.x 버전은 DEFAULT = 256 이나 MAX 는 20000 으로 지정되어 있으며
이 값은 충분이 큰 값이다
그러므로 동시 접속자 수가 2000이 넘지 않는 이상은 굳이 재 컴파일이나 컴파일 옵셥을 조정할 필요가 없다.
(아파치 1.3.x 버전과 헷갈리지 말자)
환경
Linux
apache 2.2.19 MPM은 Prefork 방식
참고 : MPM
prefork 방식은 프로세스:쓰레드 = 1:1 방식
Worker 방식은 프로세스:쓰레드 = 1:n 방식
아파치 컴파일된 셋팅값 조회
# /usr/local/apache/bin/apachectl -V
설정
Httpd.conf 에서 /conf/extra/httpd-mpm.conf 을 Include 처리 (리마크 제외) 하고
Httpd-mpm.conf 파일을 열고 지시자 변경
예)
# 다음 라인 리마크 해제
Include conf/extra/httpd-mpm.conf
지시자
MinSpareServers, MaxSpareServers
부하가 적어서 MinSpareServers 개수 보다 적었을 경우 최소한 이 개수 만큼 유지하려고 아파치가 노력하고
부하가 증가하여 프로세스 개수가 많아질 경우에 MaxSpareServers 개수 이하로 줄이려고 아파치는 노력한다.
즉, 절대적인 수치가 아니다.
StartServer
아파치 구동시 프로세스 개수
MaxClients
실행가능한 최대 프로세스 개수
MaxRequestsPerChild
클라이언트들의 요청 개수를 제한. 만약 자식 프로세스가 이 값만큼의 클라이언트 요청을 받았다면 이 자식 프로세스는 자동으로 죽게 된다. 0 일 경우엔 무한대
설정 예제
<IfModule mpm_prefork_module>
ServerLimit 1024
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 1024
MaxRequestsPerChild 0
</IfModule>
ServerLimit 에 대한 오해
구글링을 하다 보면 ServerLimit 를 올리려면 컴파일을 다시 해주어야 한다는 내용을 많이 찾아 볼 수 있다.
또한 아파치 1.3.x 버전 내용인지 2.2.x 버전 내용인지를 명시 하지 않아 혼란을 야기한다.
위에서 정의 한 것 처럼 아파치 2.2.x 버전은 기본 컴파일된 Max Server Limite 값을 충분히 큰 값이며 필요 시 conf 파일에서 조정하여 늘릴 수 있다.
컴파일시 값 조정 없이 Default 로 컴파일 된 경우 Default Server Limit 값은 256 이지만 그 이상의 MaxClient 값을조정하고 싶을 경우는 제일 상단에 "ServerLimit 1024" 와 같이 지정하여 ServerLimit 값을 configuration 에서 동적으로 지정하여 줄 수 있다.
관련링크
댓글목록
등록된 댓글이 없습니다.