반응형
MPM이란?
=> 웹 서버에서 동시에 여러 개의 클라이언트 요청을 처리하는 방법을 제공하는 모듈
=> 웹 서버 성능 및 확장성 향상
아파치에서 사용되는 MPM 3가지
1. Prefork MPM
=> 여러개의 프로세스를 생성하여 각각이 독립적인 클라이언트 요청 처리
=> 단일 스레드로 동작하며 요청 하나 당 프로세스 할당
=> 프로세스 별 자체 메모리 보유 - 독립적 환경으로 동작
=> 안정성이 높지만 프로세스 간 오버헤드가 있고 메모리 사용량이 많아 성능이 떨어질 수 있음
2. Worker MPM
=> 멀티 스레드 기반
=> 여러개의 프로세스를 생성하고 각 프로세스는 여러 스레드로 클라이언트 요청 처리
=> Prefork MPM 보다 메모리 사용량이 적고 처리량과 동시성이 높음
=> 스레드 간 동기화와 안정성 문제가 있을 수 있음
3. Event MPM
=> Worker MPM의 발전된 형태
=> 비동기 I/O 를 사용하여 효율성을 개선
=> 프로세스 당 하나의 메인 스레드와 여러개의 작업 스레드로 구성
=> 메인 스레드 - 작업 스레드 요청 처리, 연결 처리, 네트워크 이벤트 처리
=> 비동기 I/O를 사용하여 이벤트 기반의 효율적인 동작 가능
=> 높은 처리량과 동시성을 제공하면서 자원 사용량을 최소화 할 수 있음
MPM 은 운영 방식과 서버 성능에 직접적인 영향을 미치는 요소이므로
서버의 용도, 트래픽 특성, 하드웨어, 안정성 및 성능 요구 사항 등을 고려하여 결정 필요
반응형
'WEB WAS > 미들웨어' 카테고리의 다른 글
서블릿 (Servlet)이란? (0) | 2023.06.05 |
---|---|
3-way Handshake 란? (TCP 통신, 4-way Handshake) (0) | 2023.06.05 |
GSLB 란? (Global Server Load Balancing) (0) | 2023.06.04 |
L4 부하 분산 - 로드밸런싱 방법 (해시, R.R, LC) (0) | 2023.06.04 |
GC (Garbage Collection, G1GC 란?)란? - Heap Memory (1) | 2023.06.04 |