Nginx Apache 비교 및 개념 이해하기

Nginx


트래픽이 많은 웹사이트를 위해 확장성을 위해 설계한 비동기 이벤트 기반구조의 웹서버 소프트웨어입니다. 

적은 자원으로 더 빠르게 서비스하는 SW로 알려져 있습니다

이고르 시쇼브가 Apache의 C10K Problem(하나의 웹서버에 10,000개의 클라이언트의 접속을 동시에 다룰 수 있는 기술적인 문제)를 해결하기 위해 만든

Event-driven구조의 HTTP, Reverser Proxy, IMAP/POP PROXY server를 제공하는오픈소스 서버 프로그램입니다.


주로 웹서버를 비교할 때 Apache 와 Nginx를 많이 비교 합니다.

예전에는 Apache 웹서버를 많이 사용했지만 지금은.. Nginx를 많이 사용하고 있는데요.


Apache와 Nginx를 비교하자면 Apache가 점유율은 높지만 그래프를 보면, Nginx가 많이 따라잡은 것으로 집계되고 있습니다.


Apache

- 쓰레드 / 프로세스 기반 구조로 요청 하나당 쓰레드 하나가 처리하는 구조

- 사용자가 많으면 많은 쓰레드 생성, 메모리 및 CPU 낭비가 심함

- 하나의 쓰레드 : 하나의 클라이언트 라는 구조


Nginx

- 비동기 Event-Driven 기반 구조. 

- 다수의 연결을 효과적으로 처리가능. 

- 대부분의 코어 모듈이 Apache보다 적은 리소스로 더 빠르게 동작가능

- 더 작은 쓰레드로 클라이언트의 요청들을 처리가능


쓰레드 방식과 Event-driven 방식

- 쓰레드 방식



- Event-driven 방식



쓰레드 기반은 하나의 커넥션 당 하나의 쓰레드를 할당하지만 Event-driven 방식은 여러 커넥션을 Event Handler를 통해 비동기방식으로 처리해서

먼저 처리되는 것부터 로직이 진행되도록 합니다.


Apache 도 장점이 많지만 서버의 자원 활용 능력으로 보면 Nginx가 더 좋습니다.

하나의 커넥션 당 하나의 쓰레드는 많은 자원을 요구하기 때문입니다.


넷플릭스, 워드프레스, 네이버, 깃허브, 카카오 등 많은 곳에서 Apache 에서 Nginx로 갈아타고, 서버 대수를 감소시키면서 운영되고 있습니다.

신뢰도가 높다고 할 수 있겠죠.


다음 리뷰에서는 Nginx의 설치 및 환경 세팅을 알아보도록 할께요.




델 P2419H LED모니터델 60.47cm FULL HD 초슬림 IPS C타입 모니터, U2419HC델 P2419H LED모니터

* 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
작성자 소개
초이 프로필
WrapUp 블로거

초이

반려견을 좋아하고, 차를 좋아하고, 여행을 좋아하고, 맛집을 찾아 즐기는 웹 개발자 입니다^^