출처 : Apache 성능 튜닝은 어떻게 하나요? (Apache MPM)
Apache 웹서버는 버전 2.4 기준으로 Prefork, Worker, Event 방식 3가지를 제공합니다.
(1) MPM 개요
MPM 설정을 활용하면 웹 애플리케이션의 성격에 따라 클라이언트로부터 받은 요청을 어떤 방식으로 처리할 것인지를 결정할 수 있습니다.
MPM에 대한 더 자세한 정보는 Apache HTTP Server 공식 페이지에서 확인 할 수 있습니다.
① prefork
– 미리 여러 개의 프로세스를 생성하여 하나의 프로세스가 하나의 요청을 처리하는 방식 (non-thread)
– 프로세스 간 메모리를 공유하지 않아 안정적
– 오래된 모듈과 호환이 필요한 서비스에 적합
– 메모리 사용량이 상대적으로 높음② worker
– 하나의 프로세스에 연결된 여러 스레드에서 요청을 각각 처리하는 방식 (멀티 스레드)(multi-thread)
– 스레드들이 메모리를 공유하기 때문에 메모리 사용량이 prefork 방식에 비해 적음
– 동시접속자가 많은 서비스에 유용③ event
– Apache 2.4 버전부터 제공됨
– worker 방식을 기반으로 동작
– 요청을 분산하는 스레드를 따로 두어 처리 지연을 최소화하는 구조
– 속도가 가장 빠르며, 동시접속자가 많은 서비스에 유용(2) Apache MPM 설정 확인하기
현재 Apache 웹서버에서 MPM이 어떤 방식으로 동작하는지 확인합니다.
다음과 같이 “Server MPM” 항목으로 확인할 수 있습니다.
가상서버의 운영체제 및 Apache의 버전에 따라 기본 동작 방식이 다르게 설정됩니다.$ httpd -V | grep MPM Server MPM: event
