웹마스터 팁
Apache 2 prefork 와 worker 차이
2012.06.26 07:42
요즘 메모리 적게 먹는다며 엔진엑스(nginx)쓰시는 분들이 많아지고 있죠. .. 전 아파치를 쓰다 엔진엑스를 쓰려니..
당최.. 어려움을 격다 포기했습니다. 훔.. 그렇다고 남에게 설명할 실력도 안되는데 몇가지 적어봅니다.
보통 아파치를 사용하시는 분들의 경우 Prefork 모드를 이용하여 설치를 많이 하십니다. 우분투의 경우도 11.10까지
apt-get 로 설치를 하게되면 이방식으로 설치되어 오다 12.04 부터 worker가 기본으로 변경되었습니다.
이 방식들을 Apache(아파치)에서 이 방식들을 뭐라 하느냐! 바로 MPM이라 합니다.
MPM -> Multi Processing Module 로 다중 처리 모듈이란 말이구요 리눅스에서 보면 부모 프로세스 , 자식 프로세스
라는 말이 있습니다. 즉 아파치 웹 서버가 받아들이는 요청을 처리하기 위해 자식 프로세스에게 분배하는 방식입니다.
자신의 웹서버 방식 확인은 httpd -l 해보시면 버전과 함께 사용된 모듈파일들이 나오는데 prefock.c 가 있다면 prefo
ck이고 worker.c가 있다면 worker입니다.
Prefork
실행중인 프로세스를 메모리 영역까지 복제하여 실행합니다. 프로세스가 소비하는 메모리가 많습니다. 이것 때문에
사람들이 엔진엑스보다 아파치가 메모리를 많이 먹는다 라고들 합니다.
메모리는 많이 먹는 대신 응답 프로세스를 미리 띄어 놓고 클라이언트가 요청을 하면 자식 프로세스가 반응하게 됩
니다.
Worker
일반적으로 멀티 CPU인 서버에서의 성능이 뛰어납니다. 요즈음 쿼드 코어다 헥사코어다 해서 CPU들의 코어가 2개
이상인 시스템이 많죠 요청을 쓰레드(thread) 단위로 처리하며 최대 64개의 쓰레드로 할 수 있습니다.
지정된 만큼의 프로세스와 각 쓰레드를 준비하여 클라이언트의 요청을 받아 들이는 방식입니다. 대신 Prefork보다
아주 적은 메모리를 사용하게 됩니다.
두 방식의 속도 차이는 없습니다. Worker이 Prefork에 비해 불안정적이다 라고 말하시는 분들도 재법 보았습니다.
국내에서는 대부분의 개인서버 또는 분들이 Prefork를 많이들 사용하십니다. 그런데 외국에서는 Prefork보다 Worker
을 더 많이 사용하는 추세입니다. 그리고 우분투 12.04의 경우도 기본 패키지 설치방식이 worker로 변경되었습니다.
훔.. 아파치를 고수하시는 분들에게는 한번 시도해봄직한 방식인데요 저도 제가 관리중인 서버들은 모두 worker로
운영하고 있습니다. 다들 불안정하다라고들 하시는데 뭐가 불안전한지는 모르겠네요^^;
댓글 3
-
상자님
2012.07.09 02:21
-
데브위트™
2012.07.09 18:29
실수 군요 httpd -l 입니다.
-
상자님
2012.07.10 17:33
ㅋㅋ 이댓글보기전에 찾아낸게 문제에요 ㅜㅜ
제목 | 글쓴이 | 날짜 |
---|---|---|
1.4.2 버전 업데이트 이후 발생하는 문제들과 대응 [10] | Gekkou | 2010.05.18 |
게시글볼때 댓글 입력폼 색상넣어서 구분짓기 | 유리가면™ | 2010.05.18 |
Textyle 블로그 메인 주소를 blog.domain.com 로 설정하기 [1] | 네오랑 | 2010.05.18 |
게시판(내용볼때) 제목란 색상을 원하는 색상으로 바꾸기 [1] | 유리가면™ | 2010.05.18 |
레이아웃 삽입 후 최근 설문조사 가져오기 | ilovesyr | 2010.05.18 |
최근게시물 태그가 적용된 상태로 불러오기 [3] | 땡땡이별나라 | 2010.05.13 |
Lighttpd 설치 | 김 무건 | 2010.05.12 |
Zend Optimizer + eAccelerator + Suhosin [1] | 김 무건 | 2010.05.12 |
PHP 설치 | 김 무건 | 2010.05.12 |
Apache 설치 | 김 무건 | 2010.05.12 |
MySQL 설치 | 김 무건 | 2010.05.12 |
파일 첨부 에러로 고생하시는 분 [2] | celli29 | 2010.05.11 |
XE운영을 하려면 닷네임(dotname) 호스팅을 사용하시면 안됩니다 [7] | nalireco | 2010.05.11 |
중국어게시판 사용할려고 합니다. | jmb5 | 2010.05.10 |
로그인시 다음과같은 오류가 발생합니다. 빠른답변좀 ㅠㅠ [3] | 푸팅 | 2010.05.10 |
기본 Content 위젯에 댓글 New표시하기 [10] | 조슈아킴 | 2010.05.08 |
XE 사용하기 - 동영상 강좌 [36] | 선우(善友) | 2010.05.05 |
게시판 수가 많아 제목을 써넣는데 시간 절약 방법 | 아모스리 | 2010.05.04 |
htaccess 쉽게 만들기 | 현원 | 2010.05.03 |
로그인 스킨 수정 팁 - 신규 쪽지 수 보여주기 [17] | 러브스킬 | 2010.05.03 |
바꾸는 방법도알려주셧으면 ㅜㅜ
저는왜
[root@BOXCLOUD ~]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Feb 13 2012 22:31:42
[root@BOXCLOUD ~]#