본문 바로가기

강의

웹서버(NGINX, APACHE)

NGINX

1. Event Driven 방식 (프로그램의 흐름이 이벤트에 의해 결정)

   : 요청이 들어오면 어떤 동작을 해야하는지만 알려주고 다른요청을 처리하는 방식

    모든 IO들을 전부 Event Listener로 미루기 때문에, 흐름이 끊기지 않고 응답이 빠르게 진행이 되어 1개의 프로세스로 더 빠른 작업이 가능. => 메모리적인 측면에서 Nginx가 System Resource를 적게 처리

 

 

APACHE

1. 스레드 / 프로세스 기반 구조

   클라이언트 요청 하나당 스레드 하나가 처리하는 구조.

   사용자가 많을 시(=요청이 많을 시), 스레드 생성, 메모리/CPU 낭비가 심하여 성능이 저하될 수 있다.

2. MPM (Multi Processing Module : 다중처리모듈) 방식 처리

   1) Prefork MPM

      하나의 프로세스가 하나의 스레드를 갖는 구조.

      스레드 간 메모리 공유 X (=>안정적)

      실행중인 프로세스를 복제하여 실행 (메모리 영역까지 복제)

      응답 프로세스를 미리 띄어놓고 클라이언트 요청 시 자식 프로세스가 반응하는 방식

      Single/Dual CPU 에서 성능이 더 좋음.

 

   2) Worker MPM

      하나의 프로세스가 각각 여러 스레드를 사용.

      스레드 간의 메모리를 공유하여 메모리를 덜 사용.

      Prefork보다 메모리 사용량이 적기에, 통신량이 많거나 동시 접속자가 많은 사이트에 적합

      Multi CPU 에서 성능이 더 좋음.

'강의' 카테고리의 다른 글

200521 - 파일 저장 및 불러오기  (0) 2020.05.21
200520 - 회원 정보 저장  (0) 2020.05.21
200518 - 게시판 만들기  (0) 2020.05.18
200514 - 게시판만들기  (0) 2020.05.15
200513 - 게시판 만들기(설계참고)  (0) 2020.05.13