Apache MPM prefork와 worker의 개념 및 작동 방식 그리고 차이점
Apache MPM(prefork, worker)은 Apache 웹 서버의 동작 방식을 결정하는 모듈입니다. MPM은 Multi-Processing Module의 약자로, 동시 접속자를 처리하기 위한 프로세스와 스레드 관리 방식을 정의합니다.
Apache Prefork는 Apache의 Multi Processing Module(MPM) 중 하나입니다. Prefork MPM은 각 요청을 별도의 프로세스로 처리합니다. Prefork MPM은 보안성이 뛰어나고, 스레드를 지원하지 않는 웹 서버와 호환이 좋습니다. 그러나 Prefork MPM은 성능이 좋지 않고, 많은 메모리를 사용합니다.
Apache Worker는 Apache의 Multi Processing Module(MPM) 중 하나입니다. Worker MPM은 각 요청을 별도의 스레드로 처리합니다. Worker MPM은 Prefork MPM보다 성능이 좋고, 메모리 사용량이 적습니다. 그러나 Worker MPM은 보안성이 좋지 않고, 스레드를 지원하지 않는 웹 서버와 호환이 좋지 않습니다.
Apache Prefork와 Worker MPM의 차이점은 다음과 같습니다.
특징 | MPM prefork | MPM worker |
처리 방식 | 각 요청을 별도의 프로세스로 처리 | 각 요청을 별도의 스레드로 처리 |
보안성 | 보안성이 뛰어나다 | 보안성이 좋지 않다 |
성능 | 성능이 좋지 않다 | 성능이 좋다 |
메모리 사용량 | 메모리 사용량이 많다 | 메모리 사용량이 적다 |
호환성 | 스레드를 지원하지 않는 웹 서버와 호환이 좋다 | 스레드를 지원하지 않는 웹 서버와 호환이 좋지 않다 |
Apache Prefork와 Worker MPM 중 어떤 MPM을 선택할지는 웹 서버의 특성에 따라 다릅니다. 보안성이 중요하고, 스레드를 지원하지 않는 웹 서버와 호환이 좋은 웹 서버라면 Prefork MPM을 선택하는 것이 좋습니다. 성능이 중요하고, 스레드를 지원하는 웹 서버와 호환이 좋은 웹 서버라면 Worker MPM을 선택하는 것이 좋습니다.
아파치 프로세스의 개수
ps aux | grep httpd | wc -l
$ ps aux | grep httpd | wc -l
8
아파치 메모리 사용량 확인
ps aux | grep httpd | awk '{print $6}' | awk '{total = total + $1} END {print total/1024}'
$ ps aux | grep httpd | awk '{print $6}' | awk '{total = total + $1} END {print total/1024}'
80.9609
'리눅스' 카테고리의 다른 글
우분투에서 TFTP 서버를 구축하는 방법 (0) | 2013.09.15 |
---|---|
CentOS 7에서 Kickstart 서버를 구성하는 방법 (0) | 2013.09.15 |
NGINX 설치 및 설정하는 방법 (1) | 2013.09.12 |
docker로 mysql 컨테이너 실행하기 (0) | 2013.09.11 |
SSH 서버 설치 및 설정(sshd) (1) | 2013.09.10 |