Linux

[Linux] MPM Prefork / Worker

seolbinzz 2024. 1. 4. 13:46

 

 


 

Apache MPM? 다중 처리 모듈(Multi-Processing Module)
여러 이용자(웹 브라우저)가 동시에 웹 서버에 접속하여 웹 페이지를 요청하였을 때 이 요청을 동시에 처리할 수 있도록 해주는 아파치 웹서버 모듈

 

 

 

Apache MPM 종류

1. Prefork
하나의 이용자 요청에 하나의 웹 서버 프로세스를 할당하여 처리하는 방식
즉 100명이 동시에 접속하면 프로세스가 갑자기 100개까지 증가(fork)할 수 있음
--> 이용자가 몰리면 CPU와 RAM 사용량 급증

- 장점: 프로세스 하나에 장애가 발생하면 다른 요청에는 영향 X
- 단점: 프로세스가 많아지면 프로세스가 차지하고 있는 메모리 공간이 크기 때문에 부하가 일어날 수 있음

2. Worker 
하나의 자식 프로세스 안에 여러 개의 스레드를 사용 
프로세스 하나 당 제한된 스레드 갯수가 넘어가면 새로운 자식 프로세스를 생성함 


- 장점: 요청당 프로세스가 하나가 아니라 메모리 절약 
- 단점: 프로세스가 죽으면 다른 스레드들도 죽을 수 있음


프로세스 설정 변경 파일
vi /usr/local/apache2/conf/extra/httpd-mpm.conf
-프로세스 설정 변경 파일 

# prefork MPM
# worker MPM
-확인