본문 바로가기

쓰기

Apache
2012.06.26 07:42

Apache 2 prefork 와 worker 차이

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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

요즘 메모리 적게 먹는다며 엔진엑스(nginx)쓰시는 분들이 많아지고 있죠. .. 전 아파치를 쓰다 엔진엑스를 쓰려니..

당최.. 어려움을 격다 포기했습니다. 훔.. 그렇다고 남에게 설명할 실력도 안되는데 몇가지 적어봅니다.


보통 아파치를 사용하시는 분들의 경우 Prefork 모드를 이용하여 설치를 많이 하십니다. 우분투의 경우도 11.10까지

apt-get 로 설치를 하게되면 이방식으로 설치되어 오다 12.04 부터 worker가 기본으로 변경되었습니다.


이 방식들을 Apache(아파치)에서 이 방식들을 뭐라 하느냐! 바로 MPM이라 합니다.

MPM -> Multi Processing Module 로 다중 처리 모듈이란 말이구요 리눅스에서 보면 부모 프로세스 , 자식 프로세스

라는 말이 있습니다. 즉 아파치 웹 서버가 받아들이는 요청을 처리하기 위해 자식 프로세스에게 분배하는 방식입니다.

자신의 웹서버 방식 확인은 httpd -v 해보시면 버전과 함께 사용된 모듈파일들이 나오는데 prefock.c 가 있다면 prefo

ck이고 worker.c가 있다면 worker입니다.


Prefork

실행중인 프로세스를 메모리 영역까지 복제하여 실행합니다. 프로세스가 소비하는 메모리가 많습니다. 이것 때문에

사람들이 엔진엑스보다 아파치가 메모리를 많이 먹는다 라고들 합니다. 

메모리는 많이 먹는 대신 응답 프로세스를 미리 띄어 놓고 클라이언트가 요청을 하면 자식 프로세스가 반응하게 됩

니다.


Worker

일반적으로 멀티 CPU인 서버에서의 성능이 뛰어납니다. 요즈음 쿼드 코어다 헥사코어다 해서 CPU들의 코어가 2개

이상인 시스템이 많죠 요청을 쓰레드(thread) 단위로 처리하며 최대 64개의 쓰레드로 할 수 있습니다.

지정된 만큼의 프로세스와 각 쓰레드를 준비하여 클라이언트의 요청을 받아 들이는 방식입니다. 대신 Prefork보다

아주 적은 메모리를 사용하게 됩니다. 


두 방식의 속도 차이는 없습니다. Worker이 Prefork에 비해 불안정적이다 라고 말하시는 분들도 재법 보았습니다.

국내에서는 대부분의 개인서버 또는 분들이 Prefork를 많이들 사용하십니다. 그런데 외국에서는 Prefork보다 Worker

을 더 많이 사용하는 추세입니다. 그리고 우분투 12.04의 경우도 기본 패키지 설치방식이 worker로 변경되었습니다.


훔.. 아파치를 고수하시는 분들에게는 한번 시도해봄직한 방식인데요 저도 제가 관리중인 서버들은 모두 worker로

운영하고 있습니다. 다들 불안정하다라고들 하시는데 뭐가 불안전한지는 모르겠네요^^;


똑같은 내용으로 xe공홈에 올렸습니다 :)


List of Articles
글쓴이 분류 제목 조회 수
루아틱 Linux 웹소스 euc-kr 에서 utf-8 일괄변환(find, iconv 이용) 14720
루아틱 Windows Windows 2003에서 IIS 6.0 설치(SSL 설정 2) 13436
루아틱 Windows Windows 2003에서 IIS 6.0 설치(SSL 설정 1) 16705
루아틱 Etc ftp에서 passive와 active 모드의 차이? 2 22484
루아틱 MySQL mysql DB 백업과 복구 17554
포인트 Linux 리눅스 특정확장자 하위디렉토리까지 일괄삭제하기 17317
Luatic™ XpressEngine 루아틱 서버 XE사용시 몇가지 팁 file 19332
루아틱 Apache Apache 2 prefork 와 worker 차이 23605
루아틱 Apache 사이트 복사 방지 .htaccess에 추가하세요 32468
Luatic™ PHP XE Cache 적용하기 file 16338
루아틱 Etc html 색상표 18441
루아틱 PHP KimsQ RB로 홈페이지+모바일홈피 5분만에 만들기 1 15599
루아틱 Etc 돈한푼 안들이고 내 사이트 만들기 1탄 3 18344
Luatic™ PHP 워드 프레스 사용시 piwik 쉽게 연동 하기 file 21755
루아틱 Etc Byte(바이트) 와 bit(비트)의 차이 1 17543
루아틱 Linux 우분투 12.04 LTS Sever 윈도우에서 우분투로 원격 데스크탑(RDP) 사용하기 3 30262
루아틱 Linux Ubuntu 12.04 LTS Java7 설치시 오류 및 오류 해결법 30228
루아틱 Apache 아파치2 에서 mod_cband 사용법 17177
루아틱 Apache Apache의 rewrite Module 11663
루아틱 Linux Ubuntu apt-get 명령어 사용법 15088
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6