WEB WAS/미들웨어

MPM (Multi-Processing Module) 이란?

chanstory 2023. 6. 4. 13:07
반응형

MPM이란?

=> 웹 서버에서 동시에 여러 개의 클라이언트 요청을 처리하는 방법을 제공하는 모듈

=> 웹 서버 성능 및 확장성 향상

 

아파치에서 사용되는 MPM 3가지

 

1. Prefork MPM

=> 여러개의 프로세스를 생성하여 각각이 독립적인 클라이언트 요청 처리

=> 단일 스레드로 동작하며 요청 하나 당 프로세스 할당

=> 프로세스 별 자체 메모리 보유 - 독립적 환경으로 동작

=> 안정성이 높지만 프로세스 간 오버헤드가 있고 메모리 사용량이 많아 성능이 떨어질 수 있음

 

2. Worker MPM

=> 멀티 스레드 기반

=> 여러개의 프로세스를 생성하고 각 프로세스는 여러 스레드로 클라이언트 요청 처리

=> Prefork MPM 보다 메모리 사용량이 적고 처리량과 동시성이 높음

=> 스레드 간 동기화와 안정성 문제가 있을 수 있음

 

3. Event MPM

=> Worker MPM의 발전된 형태

=> 비동기 I/O 를 사용하여 효율성을 개선

=> 프로세스 당 하나의 메인 스레드와 여러개의 작업 스레드로 구성

=> 메인 스레드 - 작업 스레드 요청 처리, 연결 처리, 네트워크 이벤트 처리

=> 비동기 I/O를 사용하여 이벤트 기반의 효율적인 동작 가능 

=> 높은 처리량과 동시성을 제공하면서 자원 사용량을 최소화 할 수 있음

 

 

MPM 은 운영 방식과 서버 성능에 직접적인 영향을 미치는 요소이므로

서버의 용도, 트래픽 특성, 하드웨어, 안정성 및 성능 요구 사항 등을 고려하여 결정 필요 

 

 

 

 

 

 

반응형