Apache Multi-Processing Modules(MPM, 다중처리모듈)의 Prefork 방식
o 정의
- 하나의 자식 프로세스가 하나의 스레드를 갖는 구조.
- 하나의 자식 프로세스는 하나의 연결을 담당.
- 프로세스 생성이므로 메모리 사용량이 높음.
- 프로세스 간 메모리를 직접 공유하지 않으므로, 메모리 공간이 독립적이어서 안정적.
o 설정 및 지시어 설명
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
- StartServer : 아파치 서버의 자식 프로세스 수
- MinSpareServers, MaxSpareServers :
부하가 적을 경우, MinSpareServers 값을 유지하려고 노력
부하가 많을 경우, MaxSpareServers 값 이하를 유지하려고 노력
즉, 절대적인 수치가 아니다.
- MaxClient : 초기 시작 시 실행 가능한 최대 아파치 자식 프로세스의 수
worker방식의 MaxClient와는 전혀 다른 의미로 결국 클라이언트의 요청을 처리하는 용량을 말하므로 사실상 유사.
- MaxReqeustPerChild :클라이언트가 최대 요청 가능한 수 (0 인 경우 무한대)
o 참고
Prefork방식일 경우 Maxclient 를 늘리기 위한 설정
1) apache 1.x 버전
Apache 소스 디렉토리/src/include/httpd.h에서
define HARD_SERVER_LIMIT 256 ----> 512혹은 1024 등으로 변경 저장후 컴파일
2) apache 2.x~ 2.2.x 버전
Apache 소스 디렉토리/server/mpm/prefork/prefork.c에서
define DEFAULT_SERVER_LIMIT 256 ----> 512혹은 1024 등으로 변경후 재부팅
by. 현주희 (8월)
'1. 미들웨어이야기 > 02. Apache' 카테고리의 다른 글
OpenSSL의 소개 (0) | 2014.10.31 |
---|---|
Apache Multi-Processing Modules(MPM, 다중처리모듈)의 Worker 방식 (0) | 2014.10.13 |
Apache 에러 페이지 설정 (0) | 2014.08.29 |
apache rewrite 설정 (0) | 2014.08.29 |
Apache 버전 및 MPM 확인 방법 (0) | 2014.07.20 |