티스토리 뷰

OS/LINUX

apache mpm

卽興詩人 2014. 4. 2. 15:40
apache MPM 이란?
* MPM : Multi-Processing Module 
 => apache 가 받아들인 요청을 처리하기 위해 "자식 process" 에게 분배하는 방식 

* 종류 : 여러가지 종류가 있으나 대표적인 prefork 방식과 Worker 방식만 소개 하겠습니다. 
  1) Prefork 
    실행중인 프로세스 복제하여 실행 ( 메모리 영역까지 같이 복제) 
    프로세스가 소비하는 메모리가 많음. 
  2) Worker 
    요청을 thread 단위로 처리 ( 최대 64개의 thread 처리 가능 ) 

* Prefork 방식과 Worker 방식의 차이점 
  1) Worker가 Prefork에 비해 적은 메모리 사용 
  2) Worker : 통신량이 많은 서버에 적절한 형태 
  3) Prefork : 안전하지 않은 제 3자가 만든 모듈 사용가능 
  4) Prefork : 디버깅이 빈약한 플랫폼에서 쉬운 디버깅 가능 
  5) apache MaxClient : Prefork 방식일 경우 최대 256 까지 변경 가능 

* 최근의 추세 
  성능에 주안점을 둔 worker 방식으로 많이 설치 

* 참고사항 
  Maxclient 를 늘리기 위한 설정 ( Prefork 방식일 경우 ) 
  1) apache 1.x 버전 
    Apache 소스 디렉토리/src/include/httpd.h 파일을 편집기로 open 
    define HARD_SERVER_LIMIT 256  => 512 혹은 1024 등으로 변경 저장후 컴파일 

  2) apache 2.x~ 2.2.x 버전 
    apache소스디렉토리/server/mpm/prefork/prefork.c 파일을 편집기로 open 
    define DEFAULT_SERVER_LIMIT 256 => 512 혹은 1024 등으로 변경 

  Maxclient 를 늘리기 위한 설정 ( Worker 방식일 경우 - 2.x버전에 한정됨) 
  1) Maxclient 는  StartServers * ThreadsPerChild 로 정해짐 
      ( MaxClient = StartServer * ThreadsPerChild ) 
    => worker 방식은 각각의 자식프로세스별로 여러개의 thread를 생성해서 요청을 
          처리하기 때문 
  2) Maxclient 를 늘리기 위한 설정 
    apache소스디렉토리/server/mpm/worker/worker.c 파일 을 수정 
    ( define DEFAULT_SERVER_LIMIT 16 을 변경 )
출처 : http://hanaduri.egloos.com/2271350


'OS > LINUX' 카테고리의 다른 글

[visualcode] bash shell auto indentation 하기  (0) 2020.01.30
immutable file in linux  (0) 2014.10.29
kickstart(킥스타트) 설치기  (2) 2014.10.05
리눅스 퍼미션  (0) 2014.07.15
apache mpm(2)  (0) 2014.04.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함