관리 메뉴

개발노트

Apache MPM이란? 본문

인프라

Apache MPM이란?

YoonGwon 2023. 6. 28. 15:01

Apache MPM의 개념

Apache MPM은 Multi Processing Module의 약자로 Apache가 받아들인 요청을 처리하기 위해 자식 process에게 분배하는 방식을 의미합니다.

Apache MPM의 종류

Prefork

Prefork 방식은 하나의 요청에 하나의 웹서버 프로세스를 할당하여 처리하도록 하는 방식입니다. 실행중인 프로세스를 fork를 이용해 복제하여 실행하고 다른 여러 모듈들을 사용하는데 호환성이 좋은 편입니다. 다만 프로세스는 소비하는 메모리가 많아서 요청이 급증하면 메모리가 부족할 수도 있습니다.

Worker

Worker 방식은 요청을 스레드 단위로 처리합니다. 기본 사용 메모리는 Prefork 방식보다 낮으며 스레드 간에 메모리를 서로 공유합니다.

Event

Event 방식은 Worker에 기반하면서 한 단계 더 나아간 방법입니다. Worker 방식의 경우, Keep alive시에 클라이언트로부터 요처을 기다리고 있는 자식 프로세스 혹은 스레드 전체를 keep 하게 됩니다. 그러나 Event 방식은 각 프로세스를 위한 전용 리스너 스레드를 따로 둠으로서 해당 문제를 해결했습니다.

Apache MPM을 확인하는 방법

httpd -V

Apache MPM 비교

 

728x90