반응형
[WEB/WAS 개념 정리 시리즈] 3편 - Apache MPM 방식과 Web 처리 구조
이번 글에서는 Apache 웹서버의 핵심 구성 방식인 MPM(Multi-Processing Module)에 대해 다룹니다.
Apache가 클라이언트 요청을 처리하는 구조와 Prefork, Worker, Event 방식의 차이를 실무 기준으로 정리합니다.
✅ MPM이란?
- Apache에서 클라이언트 요청을 처리하는 핵심 모듈
- 요청을 처리할 프로세스와 스레드 구조를 결정
- 성능, 메모리 사용량, 동시 접속 처리 능력에 큰 영향
✅ 주요 MPM 방식 비교
항목 | Prefork | Worker | Event |
---|---|---|---|
구조 | 프로세스 기반 | 프로세스 + 스레드 | Worker 기반 + keep-alive 개선 |
동시성 | 낮음 | 높음 | 매우 높음 |
안정성 | 매우 안정적 | 일반적 | 신기술 기반 |
특징 | 각 요청마다 프로세스 생성 | 스레드로 처리, 메모리 효율 ↑ | keep-alive 연결을 별도 처리 |
CGI 호환 | 좋음 | 낮음 | 낮음 |
✅ MPM 동작 흐름 (Worker 기준)
클라이언트 요청
→ Apache 프로세스
→ 스레드 생성
→ 요청 처리
→ 응답 반환
✅ MPM 설정 위치
Apache 설정 파일:
/etc/httpd/conf.modules.d/00-mpm.conf
예시 설정:
<IfModule mpm_worker_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestWorkers 150
MaxConnectionsPerChild 1000
</IfModule>
✅ 주요 설정 항목
항목 | 설명 |
---|---|
StartServers | 초기 프로세스 개수 |
ThreadsPerChild | 프로세스당 스레드 수 |
MaxRequestWorkers | 최대 동시 요청 수 |
MaxConnectionsPerChild | 프로세스 재시작 기준 |
✅ MPM 선택 기준 (실무 팁)
환경 | 추천 MPM |
---|---|
단순 정적 서버 | Worker 또는 Event |
레거시 CGI 사용 | Prefork |
높은 동시성 필요 | Event |
메모리 제한 있음 | Worker |
✅ 확인 및 적용
현재 MPM 확인
httpd -V | grep MPM
변경 방법
00-mpm.conf
에서 원하는 MPM 모듈만LoadModule
활성화- 나머지 MPM 모듈은 주석 처리
- Apache 재기동
systemctl restart httpd
✅ 마무리
Apache의 MPM 방식은 성능과 안정성에 직접적인 영향을 주는 핵심 설정입니다.
다음 편에서는 Web과 WAS 간 연동 구간의 로드밸런싱, 세션 클러스터링을 설명합니다.
반응형
'System Settings' 카테고리의 다른 글
[WEB/WAS 개념 정리 시리즈] 5편 - WAS–DB 구성 및 APM 활용 (1) | 2025.05.14 |
---|---|
[WEB/WAS 개념 정리 시리즈] 4편 - Web–WAS 연동: 로드밸런싱과 세션 클러스터링 (0) | 2025.05.14 |
[WEB/WAS 개념 정리 시리즈] 2편 - JVM 구조 및 GC 메커니즘 (1) | 2025.05.14 |
[WEB/WAS 개념 정리 시리즈] 1편 - WEB/WAS 개요 및 호출 구조 (0) | 2025.05.14 |
[리눅스 개념 정리 시리즈] 4편 - 주요 명령어 및 커널 파라미터 설정 (0) | 2025.05.14 |