RadarURL

데이터베이스
2011.11.14 15:30

Apache MPM 방식 Prefork / Worker

조회 수 8968 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

원문 : http://www.camelrichard.org/apache-prefork-vs-worker
참고 : http://dakrink.tistory.com/45

 

Prefork는 일반적으로 Single CPU 또는 Dual CPU에서 성능이 좋고 Worker는 일반적으로 멀티 CPU 시스템에서 성능이 좋다.


•Prefork
<IfModule mpm_prefork_module>
      StartServers                   5
      MinSpareServers            5
      MaxSpareServers          10
      MaxClients                  150
      MaxRequestsPerChild     0
 </IfModule>
•Worker
<IfModule mpm_worker_module>
       StartServers                 2
       MaxClients               150
       MinSpareThreads       25
       MaxSpareThreads      75
       ThreadsPerChild         25
       MaxRequestsPerChild   0
</IfModule>


Apache MPM 이란?
MPM (Multi-Processing Module) : 다중 처리 모듈
☞ apache 가 받아들인 요청을 처리하기 위해 "자식 process" 에게 분배하는 방식이다.

종류 : 여러가지 종류가 있으나 대표적인 prefork 방식과 Worker 방식만 소개 하겠습니다.

Prefork
실행중인 프로세스 복제하여 실행 ( 메모리 영역까지 같이 복제)
프로세스가 소비하는 메모리가 많음.
응답프로세스를 미리 띄워놓고 클라이언트 요청시 자식 프로세스가 반응하게 되는 방식.

prefork MPM ( --with-mpm=profork) 컴파일
Prefork 방식은 일반적으로 single CPU 또는 Dual CPU에서 성능이 좋고


Worker
worker MPM ( --with-mpm=worker) 컴파일
Worker 방식은 일반적으로 멀티 CPU 시스템에서 성능이 좋다.
요청을 thread 단위로 처리 ( 최대 64개의 thread 처리 가능 )
지정된 만큼의 프로세스와 각 스레드를 준비하여 클라이언트의 요청을 받아들이는 설정


Prefork 방식과 Worker 방식의 차이점
(1)  Worker가 Prefork에 비해 적은 메모리 사용한다.
(2)  Worker : 통신량이 많은 서버에 적절한 형태를 가진다.
(3)  Prefork : 안전하지 않은 제 3자가 만든 모듈을 사용할 수 있다.
(4)  Prefork : 디버깅이 빈약한 플랫폼에서 쉽게 디버깅 할 수 있다.
(5)  ‘Worker‘ 와 ‘Prefork‘ 의 속도는 비슷하다.
(6)  apache MaxClient : Prefork 방식일 경우 최대 256 까지 변경 가능하다.

prefork 의 구동 방식은 child 프로세스를 똑같이 복사하면서 access를 처리하여, 이로인해 메모리도 똑같이 복사하게 되며 당연히 메모리를 많이 소비합니다.

이러한 단점을 극복하고자 나온게 httpd-2x.x 부터는 mpm 중에서 worker 가 추가되어 나왔으며, 모든 access 를 하나의 쓰레드로 처리하여, 결론적으로 메모리 소비에는 어느 정도 효과가 있으나, 하나의 쓰레드가 문제가 생기면 해당 쓰레드에 access 중인 모든 프로세스에 문제가 발생됩니다.

결론적으로 복제된 프로세스만 영향을 받는 prefork 에 비해서 굉장히 불안해 집니다.

대안으로 하나의 쓰레드가 처리하는 access 프로세스를 64개로 기본적으로 제한하고, 또는 수정할 수 있게되어 있으나, 이 부분도 더 개선이 되어야겠습니다.

 

출처 : http://umz.kr/04Hyb

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 927562
1726 건강 출산을 앞두고 있는 아내를 위해 남편이 해야할 일 JaeSoo 2011.11.13 5234
1725 윈도우즈 C:\windows\PCHealth\ErrorRep 폴더관련 JaeSoo 2011.11.14 10118
1724 데이터베이스 php 버전에서 none thread safe와 thread safe 두종류의 차이 JaeSoo 2011.11.14 9088
» 데이터베이스 Apache MPM 방식 Prefork / Worker JaeSoo 2011.11.14 8968
1722 웹 프로그래밍 WAMP (Windows+Apache+MySQL+PHP) 설치 JaeSoo 2011.11.14 6508
1721 데이터베이스 MySQL 재설치시 오류 JaeSoo 2011.11.15 9663
1720 데이터베이스 MySQL Data file 위치 JaeSoo 2011.11.15 9204
1719 데이터베이스 MySQL Plugin 'InnoDB' init function returned error. JaeSoo 2011.11.15 8454
1718 기타 취업 실패 부르는 ‘치명적인 실수’ 10가지 JaeSoo 2011.11.15 5309
1717 하드웨어 CPU 순위 (CPU 성능 순위, CPU 서열차트) 2011년 10월 27일 JaeSoo 2011.11.17 10546
1716 경제 서민 대출 금리 비교 file JaeSoo 2011.11.19 6573
1715 윈도우즈 윈도우 7 정품인증과 시디키 JaeSoo 2011.11.19 12198
1714 윈도우즈 ReadyFor4GB - 32비트 윈도우에서 램 4GB 이상 사용하기 JaeSoo 2011.11.19 8303
1713 네트워크 원격 FTP 저장소를 네트워크 드라이브로 연결하기 file JaeSoo 2011.11.21 6036
1712 윈도우즈 [윈도XP/7] FTP사이트를 탐색기에 네트워크 드라이브로 연결하기 JaeSoo 2011.11.21 8773
1711 윈도우즈 윈도우 공유(cifs/smbfs)를 인터넷상에서 하자. (139번포트 넘기) 1 file JaeSoo 2011.11.23 7987
1710 네트워크 외부에서 원격지 Samba 서버로 네트워크 드라이브 연결하기 file JaeSoo 2011.11.23 8379
1709 네트워크 윈도우 공유(cifs/smbfs/netbios) 사무실을 벗어나자 JaeSoo 2011.11.25 9084
1708 기타 김여사~ 주차 신공을 보여줘! file JaeSoo 2011.11.25 7421
1707 기타 아이와 직원의 능력 죽이는 한마디 "똑똑하다" JaeSoo 2011.11.29 4292
Board Pagination Prev 1 ... 33 34 35 36 37 38 39 40 41 42 ... 124 Next
/ 124


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너