티스토리 뷰

WEB2.0/프로그래밍

Apache의 Prefork와 Worker 설정

나를찾는아이 2012. 5. 15. 15:52
728x90
반응형

server reached MaxClients setting, consider raising the MaxClients setting

이 아파치 에러로그는 말 그대로 설정된 MaxClients 수치에 이미 서버가 도달했으니 이 수치를 올리는 것을 고려하라는 로그입니다.


MaxClients 에 도달하면 이외의 초과 접속은 허용되지 않습니다.


MaxClients 세팅을 늘리는 것을 고려해야죠.


여러분이 아파치를 설치한 환경에 따라 http.conf 파일을 수정하셔야 합니다.




Prefork



옵션 설명

StartServer
아파치 구동시에 자식 프로세스 개수 지정

MinSpareServers, MaxSpareServers
부하가 적어서 MinSpareServers 개수 보다 적었을 경우 최소한 이 개수 만큼 유지하려고 아파치가 노력하고 부하가 증가하여 프로세스 개수가 많아질 경우에 MaxSpareServers 개수 이하로 줄이려고 아파치는 노력한다. 즉, 절대적인 수치가 아니다.


ServerLimit

최대 자식 프로세스 수, MaxClients 와 동일하게 해주시면 됩니다.


MaxClients
초기 시작시 실행가능한 최대 아파치 자식 프로세스의 개수를 지정
*worker방식의 MaxClient 와는 전혀 다른 의미임.

MaxReqeustPerChild

클라이언트들의 요청 개수를 제한. 만약 자식 프로세스가 이 값만큼의 클라이언트 요청을 받았다면 이 자식 프로세스는 자동으로 죽게 된다. 0 일 경우엔 무한대


설정값 확인 방법


# /usr/local/apache2/bin/apachectl -l





prefork.c 가 보이면 prefork로 동작하고 있는것입니다.




※ worker 로 변경하는 방법


# vi /etc/sysconfig/httpd

#HTTPD=/usr/sbin/httpd.worker

위 주석을 제거 한후 아파치 재기동 합니다.

# service httpd restart

# apachectl -l

로 확인했을때 worker.c 가 있다면 성공




Worker


옵션 설명 


StartServers
시작시에 생성되는 서버 프로세스의 개수

MaxClient
동시 연결가능한 클라이언트의 최대 개수.

MinSpareThreads

최소 thread 개수

MaxSpareThreads
최대 thread개수

ThreadPerChild
개별 자식 프로세스가 지속적으로 가질 수 있는 Thread의 개수

MaxRequestPerChild
자식 프로세스가 서비스할 수 있는 최대 요청 개수


현재 worker 모듈 설치 되었는지 확인을 위해서는 위의 방법뿐만아니라

httpd -V 명령으로 확인 가능합니다. (V는 대문자)


# httpd -V




Server MPM 에 나타나는 값으로 확인 가능합니다.



※ prefork, worker와 관련된 문서가 여기저기 흩어져 있어 출처 없이 짜깁기했습니다.

원작자분께서 요청하시면 출처 표기하겠습니다.

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함