내용으로 건너뛰기
adminschool.net wiki
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
application:apache:mpm
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== Apache MPM(Multi-Processing Module) ====== ===== Apache MPM 정의 ===== - Apache Multi-Processing Module - Apache 가 요청을 처리하기 위해서 Child Process에게 분배하는 방식을 이야기 한다. ===== Prefork / Worker ===== - 여러가지 종류의 MPM 이 존재하나, 가장 많이 사용하는 방식이 Prefork 와 Worker 이다. - 전통적인 방식은 prefork 방식이면, 최근에서는 성능에 주안점을 둔 worker 방식을 선호한다. ^ ^ Prefork ^ Worker ^ ^ 동작 | 실행중인 프로세스를 복제하여 실행 \\ (메모리 영역까지 함께 복제) \\ 프로세스가 소비하는 메모리가 많음 | 요청을 Thread 단위로 처리 \\ (최대 64의 Thread 처리 가능) | ^ 차이점 | 안전하지 않은 제3가 만든 모듈 사용가능 \\ 디버깅이 빈약한 플랫폼에서 쉬운 디버깅 가능 | Prefork에 비해 적은 메모리 사용 \\ 통신량이 많은 서버에 적절한 형태 | ^ MaxClients | 최대 256까지 변경가능 | | ===== MaxClients 늘리기 ===== ==== Prefork ==== - apache 1.x - apache 소스 디렉토리의 src/include/httpd.h 파일에서 HARD_SERVER_LIMIT 256 값을 수정하고 컴파일한다. \\ ** define HARD_SERVER_LIMIT 1024 ** - apache 2.x - apache 소스 디렉토리의 server/mpm/prefork/prefork.c 파일에서 DEFAULT_SERVER_LIMIT 256 값을 수정하고 컴파일한다. \\ ** define DEFAULT_SERVER_LIMIT 1024 ** ==== Worker ==== - apache 2.x 버젼에만 존재한다. - MaxClients 는 StartServers 와 ThreadsPerChild 의 곱에 의해서 결정된다. <code> MaxClients = StartServer * ThreadsPerChild </code> worker 방식은 각각의 Child Process별로 여러개의 thread 를 생성하여 요청을 처리하기 때문이다. - Maxclient를 늘리기 위한 설정 - apache 소스 디렉토리의 server/mpm/worker/worker.c 파일에서 DEFAULT_SERVER_LIMIT 16 값을 수정하고 컴파일한다.
application/apache/mpm.txt
· 마지막으로 수정됨: 2009/07/31 08:59 저자
starlits
문서 도구
문서 보기
이전 판
역링크
맨 위로