공유할 서비스 선택

TECH


TECH

Middleware (Apache) Apache & Webtier에서 Nginx와 동일한 비동기 방식 처리 하기 (MPM-event)

페이지 정보

작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 109회 좋아요 0회 작성일 24-06-07 09:30

본문

안녕하세요. "미들웨어" 입니다. 

 

이번 가이드에서는 웹서버의 동기(sync) 방식과 비동기(Async) 방식에 대해 정리를 해보겠습니다.

동기와 비동기 방식의 차이는 구글링을 조금만 해봐도 많은 자료가 있으니 검색해보시길 권장드립니다.

저는 Nginx 에서만 사용되는 비동기 방식을 Apache & Oracle Webtier 에서도 사용 할 수 있는 방법에 대해 정리해보려 합니다.

1. 동기방식과 비동기 방식 기본 개념


  • 동기방식

동기 방식은 아래 그림처럼 한개의 요청이 끝날때 까지 한개의 Thread에서 요청을 처리하게 되있습니다.

안정성이 뛰어나서 Apache 에서 기본으로 사용하는 방식입니다.

예를들면.. 네이버 메인 홈페이지가 동기 방식입니다.

한번 클릭시 홈페이지 전체 리플레쉬 하는 방식이조

 

801628eb6a90bdb1eccfd1b9e471dadf_1717719804_0552.gif

  

 

  • 비동기 방식

해당 방식은 요청한 Thread와 처리하고 끝낼 Thread가 같이 않고 한개의 Thread에서 여러개의 요청을 처리할 수 있는 방식으로 비동기 이벤트 방식입니다.

Nginx 에서는 비동기 이벤트 방식을 기본으로 채택하여 사용하고 있으며, 동기 방식 대비 속도는 빠르나 이슈 발생시 처리가 어렵고 코딩이 좀 더 복잡해집니다.

예를들면.. 네이버 까페 댓글 등록이 있겠네요.

댓글 등록하면 전체 리플레쉬 하는게 아니고 댓글 부분만 리플레쉬 하조? 그럼 그만큼 속도가 빠릅니다.

 

동기방식과 비동기 방식의 개념은 이정도로 하고, Apache & WebTier에서 비동기 방식을 사용하는 방법에 대해 정리해보겠습니다.   

801628eb6a90bdb1eccfd1b9e471dadf_1717719815_2633.gif
 

 

2. Apache & Webtier 비동기 처리 방식

Apache 2.4버전 이후부터 사용 가능하며, 그 이전 버전은 제가 확인하지 않아서 직접 확인해보시기 바랍니다.

Apache & Webtier 에는 prefork, worker 방식이 있는데, event 모듈이 추가된걸로 이해하시면 좋습니다.

  • Apache MPM event 메뉴얼

상세 내용은 아래 링크 참고하시면 되고, 메뉴얼 내용 필독하세요.

https://httpd.apache.org/docs/2.4/mod/event.html

 

  • event mpm 모듈 적

event 모듈을 사용하기 위해서는 --with-mpm=eventconfigurehttpd 문구가 추가되야 합니다.

mpm 확인시 event 모듈이 적용되있는지 확인 필수!!

[root@test ~]# apachectl -V | grep MPM Server MPM: event


3. 설정 방식

내용은 httpd.conf 하단에 추가해도 되고, 별도로 event-mpm.conf 를 생성한뒤 incloud 하는 방식으로 해도 됩니다.

내용위치 : /httpd/conf/httpd.conf

<Ifmodule mpm_event_module> ServerLimit 16 StartServers 3 MinSpareThreads 75 MaxSpareThreads 250 MaxRequestWorkers 500 ThreadsPerChild 25 </IfModule>

 

옵션값 설정은 상황에 맞도록 수정해서 사용하세요.

기본적인 옵션 내용은 아래 적어드리겠습니다.

 

 ServerLimit 16

StartServers 3 //웹 서버 가동 시 처음에 실행시킬 프로세스의 수 MinSpareThreads 75 //유지해야 할 여분의 스레드 수의 최소값 MaxSpareThreads 250 //여분의 프로세스 수의 최대값 MaxRequestWorkers 500 //생성되는 스레드의 최대치로, 클라이언트가 동시에 접속할 수 있는 최대값 ThreadsPerChild 25 //하나의 프로세스가 처리할 수 있는 최대 스레드의 수


그럼~ 열공하세요..



 

 

 

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
212 OS OSworker 아이디로 검색 전체게시물 06-09 67
패키지의 변경 로그를 보는 방법에 대해 아시나요? #chagelog

카테고리 : OS

67 0
작성자 : OSworker 24/06/09
열람중 Middleware 미들웨어 아이디로 검색 전체게시물 06-07 110
열람중
(Apache) Apache & Webtier에서 Nginx와 동일한 비동기 방식 처리 하기 (MPM-event)

카테고리 : Middleware

110 0
작성자 : 미들웨어 24/06/07
210 OS OSworker 아이디로 검색 전체게시물 05-25 283
Log를 한 곳에서 볼 수 있도록 Log Server 구성에 대해 알아보겠습니다.

카테고리 : OS

283 0
작성자 : OSworker 24/05/25
209 Middleware 미들웨어 아이디로 검색 전체게시물 05-21 244
(오픈소스 활용-31) (부하테스트 Tool) Jmeter 를 활용한 JDBC 부하테스트 방법 -2

카테고리 : Middleware

244 0
작성자 : 미들웨어 24/05/21
208 OS OSworker 아이디로 검색 전체게시물 05-19 237
OS내에 있는 stress-ng 도구를 사용하여 CPU, 메모리, HDD에 동시에 스트레스를 주는 방법을 안내해 드리겠습니다.

카테고리 : OS

237 0
작성자 : OSworker 24/05/19
207 OS OSworker 아이디로 검색 전체게시물 05-12 257
Red Hat Enterprise Linux 9.4 에 대해 간략하게 알아가는 시간~!!!!

카테고리 : OS

257 0
작성자 : OSworker 24/05/12
206 Middleware 미들웨어 아이디로 검색 전체게시물 05-07 350
(오픈소스 활용-30) (부하테스트 Tool) Jmeter 를 활용한 JDBC 부하테스트 방법 -1

카테고리 : Middleware

350 0
작성자 : 미들웨어 24/05/07
205 Middleware 미들웨어 아이디로 검색 전체게시물 04-22 299
(오픈소스 활용-29) was에서 T4CConnection (Locked) 발생시 해결방법

카테고리 : Middleware

299 0
작성자 : 미들웨어 24/04/22
204 OS OSworker 아이디로 검색 전체게시물 04-20 252
Diagram, Architect 등 서버의 구성에 대해 그림그리실때 무엇을 사용하시나요?

카테고리 : OS

252 0
작성자 : OSworker 24/04/20
203 OS OSworker 아이디로 검색 전체게시물 04-14 316
[교육] RH174 : Managing CentOS Migrations and RHEL Upgrades

카테고리 : OS

316 0
작성자 : OSworker 24/04/14
Total 212건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top