Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Apache mpm event 방식

No description
by

강석 차

on 17 February 2017

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Apache mpm event 방식

Logo
2. MPM event 방식 개념
3. MPM event 방식 설치
Apache MPM event 방식
4. 참고
1. MPM event 방식 탄생배경
1. MPM event 방식 탄생배경
2. MPM event 방식 개념
3. MPM event 방식 설치
4. 참고
번외. httpd.conf 지시자

apache 2.2
apache 2.4
Apache 2.2 x 까지
한개의 동접 클라이언트당 한개의 쓰레드 (or 프로세스) 구조
-> 한 클라이언트가 맺은 접속이 완전히 끝나지 않는한 쓰레드
( or 프로세스)가 죽지않음.
때문에 접속당 CPU와 메모리 사용이 증가하여 성능 저하 발생
keepalive 설정 -> 대량접속시 효율적 문제

Apache 2.4 x 부터 event 방식 지원
event방식은 요청과 Keep Alive한 아파치 요청을 그대로 맺는 것이
아니라, 요청을 처리하는 쓰레드를 따로 두도록 하여 분산된 처리방식
mpm 방식을 설정하기 위한 조건
1) apache 2.4.x 이상
2) apr 1.4.x 이상
3) apr -util 1.4.x 이상

mpm 옵션을 주지 않으면 기본 설정은 "event" 방식
※ 만약 모든 mpm 옵션을 동적으로 설정하고 싶으면
"--enable-mpms-shared=all" 옵션을 추가

1. configure 옵션
2. httpd.conf 파일 설정
3. apache mpm방식 확인

http://aonenetworks.tistory.com/390
apache 2.4 (event-mpm), nginx 1.4 비교 테스트 참고 URL
결론적으로, 테스트 상에서는 nginx가 나은 성능을 보이지만 php 모듈을 직접 적재하여 운용할 수 있는 apache가 구조상 잇점이 있기에 복잡한 구성의 웹사이트 운영에서는 보다 적합할 수 있음.
실제로 해외 테스트 결과 event-mpm과 nginx 테스트 결과 가 큰 편차를 보이지 않고 있다는 점 등을 미루어보아 전적으로 nginx가 좋다라고 단정할 수는 없기에 이 부분은 지속적으로 확인해볼 필요가 있음.
번외. httpd.conf 지시자
httpd.conf 기본설정
ServerRoot : 아파치서버의 홈디렉토리를 절대경로로 지정
Listen 포트 : 기본포트 80
<LoadModule> : 아파치가 그 모듈을 읽음
<IfModule> : 모듈이있을 때 처리하는 지시문을 지정하는 데 사용
<Directory> : 지정된 디렉토리와 그 하위 디렉토리에만 지시어를 적용
ServerAdmin : 클라이언트측으로 보내질 메일주소값
(대부분 웹서버 관리자로 보냄)
ServerName : 서버의 호스트이름을 지정
DocumentRoot : 웹문서가 있는 경로 지정
DirectoryIndex : 디렉토리에서 찾게될 문서의 순서를 지정
KeepAlive : 한 프로세스가 특정 사용자의 지속적인 요청작업들을
계속해서 처리할 것인지에 대한 여부를 설정
KeepAliveTimeout : 설정한 시간(초)동안 요청이 없다면 그 연결을 끊음
Timeout : 클라이언트와 서버간에 아무런 메세지가 발생하지 않았을 때
타임아웃시키고 연결을 끊을 시간을 초단위로 설정
MaxKeepAliveRequests : 하나의 프로세스가 특정방문자의 요청을
계속해서 처리할때 지정한 횟수만큼만 처리
ErrorLog : 에러로그 경로 지정
LogLevel : 얼마나 자세하게 로그를 기록할 것인지 결정
- 중요도 순서
debug → info → notice → warn → error → crit → alert → emerg
CustomLog : 지정한 형식대로 로그를 남김


참조 URL : http://linuxism.tistory.com/322
http://mcpaint.tistory.com/123
Full transcript