아파치 2.0은 용도에따라서 프로세스 모델을 정의해주어야 됩니다. (유닉스 계열은
컴파일시 --with-mpm={perchild|prefork|worker} 기본값은 아파치 1.3과 같은
prefork 모델입니다.
prefork 일때
아파치 1.3 은 포크 가능한 자식 프로세스는 기본값은 256개로서
apache_1.3.24/src/include/httpd.h 파일에서
#define HARD_SERVER_LIMIT 256
요것을 서버 스펙에 따라서 적당히 늘려줍니다.
아파치 2.0 은 역시 포크 가능한 자식 프로세스는 기본값은 256개로서
httpd-2.0.35/server/mpm/prefork/prefork.c 를 열으셔서
#define DEFAULT_SERVER_LIMIT 256
역시 적당히 늘려줍니다.
worker 방식
기본으로 16개의 차일드 프로세스와 그안에 64개의 쓰레드를 생성가능하므로
16*64 = 1024 개의 쓰레드를 생성 할수있습니다.
httpd-2.0.35/server/mpm/worker/worker.c
기본적으로 생성가능한 차일드 프로세스수 조절
#define DEFAULT_SERVER_LIMIT 16
각 프로세스내에 생성 가능한 쓰레드 수 조절
#define DEFAULT_THREAD_LIMIT 64
perchild 방식
기본으로 8개의 차일드 프로세스와 그안에 64개의 쓰레드를 생성가능하므로
8*64 = 512 개의 쓰레드를 생성 할수있습니다.
httpd-2.0.35/server/mpm/perchild/perchild.c
기본적으로 생성가능한 차일드 프로세스수 조절
#define DEFAULT_SERVER_LIMIT 8
각 프로세스내에 생성 가능한 쓰레드 수 조절
#define DEFAULT_THREAD_LIMIT 64
컴파일시 --with-mpm={perchild|prefork|worker} 기본값은 아파치 1.3과 같은
prefork 모델입니다.
prefork 일때
아파치 1.3 은 포크 가능한 자식 프로세스는 기본값은 256개로서
apache_1.3.24/src/include/httpd.h 파일에서
#define HARD_SERVER_LIMIT 256
요것을 서버 스펙에 따라서 적당히 늘려줍니다.
아파치 2.0 은 역시 포크 가능한 자식 프로세스는 기본값은 256개로서
httpd-2.0.35/server/mpm/prefork/prefork.c 를 열으셔서
#define DEFAULT_SERVER_LIMIT 256
역시 적당히 늘려줍니다.
worker 방식
기본으로 16개의 차일드 프로세스와 그안에 64개의 쓰레드를 생성가능하므로
16*64 = 1024 개의 쓰레드를 생성 할수있습니다.
httpd-2.0.35/server/mpm/worker/worker.c
기본적으로 생성가능한 차일드 프로세스수 조절
#define DEFAULT_SERVER_LIMIT 16
각 프로세스내에 생성 가능한 쓰레드 수 조절
#define DEFAULT_THREAD_LIMIT 64
perchild 방식
기본으로 8개의 차일드 프로세스와 그안에 64개의 쓰레드를 생성가능하므로
8*64 = 512 개의 쓰레드를 생성 할수있습니다.
httpd-2.0.35/server/mpm/perchild/perchild.c
기본적으로 생성가능한 차일드 프로세스수 조절
#define DEFAULT_SERVER_LIMIT 8
각 프로세스내에 생성 가능한 쓰레드 수 조절
#define DEFAULT_THREAD_LIMIT 64
'시스템, 서버 > 웹서버' 카테고리의 다른 글
apache / nginx 에서 .php 생략하기 (0) | 2017.01.09 |
---|