설정
1)httpd.conf 수정
-vi httpd.conf
-"include conf/extra/httpdmpm.conf" 설정의 주석을 제거
2)Prefork 방식
-한개의 자식 프로세스는 한 개의 연결을 담당한다.
-프로세스가 생성되는 구조이므로 당연히 worker보다 많은 메모리를 사용한다.
-프로세스간 메모리를 직접 공유하지 않으므로, 메모리 공간이 독립적이어서 안정적이다.
-conf/extra/httpd-mpm.conf 파일 수정
<ifModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 250
MaxConnectionsPerChild 0
</ifModule >
<옵션 설명>
-StartServer: 시작시에 생성되는 서버 프로세스의 개수
-MinSpareServers, MaxSpareServers: 부하가 적어서 MinSpareServers 개수 보다 적었을 경우 최소한 이 개수 만큼 아파치가 유지하려 하며, 부하가 증가하여 프로세스 개수가 많아질 경우에 MaxSpareServers개수 이하로 줄이려고 아파치가 구동
-MaxConnectionsPerChild: 클라이언트들의 연결을 제한.(만약 자식 프로세스가 값만큼 요청을 받았을때 자식 프로세스는 자동으로 kill, 0인경우 무한대)
3)Worker 방식
-자식 프로세스들이 여러개의 스레드를 갖을 수 있으며, 각 스레드는 한번에 한 연결을 담당
-Prefork보다 메모리 사용량이 적으며, 통신량이 많은 서버에 적절
-스레드 간에 메모리 공간을 공유하며, 리소스 경합이 발생하지 않도록 주의 필요.
-conf/extra/httpdmpm.conf 파일 수정
<ifModule mpm_worker_module>
StartServers 5
MinSpareThreads 75
MaxSpareThreads 250
ThreadsPerChild 25
MaxRequestWorkers 400
MaxConnectionsPerChild 0
</ifModule >
<옵션 설명>
-StartServer: 시작시에 생성되는 서버 프로세스의 개수
-MinSpareThread: 최소 thread 수
-MaxSpareThreads: 최대 thread 수
-ThreadPerChild: 자식 프로세스별 지속적으로 가질 수 있는 thread의 수
-MaxRequestWorkers: 자식 스레드의 최대 수
-MaxConnectionsPerChild: 자식 프로세스가 서비스할 수 있는 최대 요청 개수
댓글 없음:
댓글 쓰기