개요

  • NGINX란 러시아의 한 개발자가 APACHE의 문제를 해결하기 위해 만든 웹서버sw이다.
    • 한 시스템에 동시접속자 수가 1만명이 넘어갈 때의 효울적인 방안

APACHE

  • 클라이언트가 http요청을 보낼 때, APACHE는 MPM(Multi-Process-Module)을 사용하여 처리한다.
    1. PreFork(다중 프로세스 처리
      • 클라이언트 요청에 대해 default 개수만큼 APACHE 자식 프로세스를 생성하여 처리하고, 요청이 많을 경우 Process를 생성하여 처리하는 방식이다. APACHE 설치 시, dafault로 설정되어 있다.
    2. Worker 방식(멀티 프로세스 ㅡ 스레드 방식)
      • Perfork와 같이 dafault Apache 자식 프로세스를 생성하고, 요청이 많아지면 각 프로세스의 스레드를 생성해 처리하는 구조이다.
    3. 두 방식의 특징은 우리가 흔히 알고 있는 프로세스와 쓰레드 사용의 장/단점과 동일하다

NGINX

  • Event-Driven방식으로 동작한다.
  • 한 개 또는 고정된 프로세스만 생성하고, 그 프로세스 내부에서 비 동기 방식으로 효율적으로 작업들을 처리한다.
  • 동시 접속 요청이 많아도 Process또는 Thread 생성 비용이 존재하지 않는다.
  • Event-Driven 방식에선 작업을 하다 I/O, soket read/write 등 CPU가 관여하지 않는 작업이 시작되면, 기다리지 않고 바로 다른 작업을 수행한다. 진행중인 I/O 등의 작업들이 끝나면 아까 했던 작업을 다시 진행하면 된다는 이벤트가 발생하고 그 작업을 처리하게 된다.

출처: https://medium.com/sjk5766/%EB%84%8C-%EB%AD%90%EB%8B%88-nginx-9a8cae25e964

'Servlet&JSP' 카테고리의 다른 글

아파치와 톰캣 메모  (0) 2020.05.11
9.자바 EE를 이용한 Servlet(개인메모)  (0) 2020.05.02
8.Servlet프로그램 만들기  (0) 2020.05.02
7.Servlet Container  (0) 2020.05.01
6.MVC 패턴에 대해서  (0) 2020.05.01

+ Recent posts