Apache

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

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

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

 

nginx

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

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

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

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

 

Nginx 

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

가벼움과 높은 성능을 목표로 만들어 졌으며, 러시아의 프로그래머,이고르 시쇼브가 Apache의 C10K Problem(하나의 웹서버에 10,000개의 클라이언트의 접속을 동시에 다룰 수 있는 기술적인 문제)를 해결하기 위해 만든 Event-driven구조의 오픈소스 서버 프로그램

네이버의 경우, Apache에서 Nginx로 갈아타며 TPS 3배증가, 서버 대수 1/3으로 감소 Nginx 장애 0건으로 엄청난 이득을 보았다고 한다.

반응형

'네트워크 + DB' 카테고리의 다른 글

SQL 연습하기 좋은 사이트  (0) 2021.09.06
AJAX (Asynchronous Javascript And XML)  (0) 2021.09.06
SQL과 NoSQL  (0) 2021.09.05
[기초] 데이터 베이스  (0) 2021.09.05
아파치(Apache), 톰캣(Tomcat), 엔진엑스(Nginx)  (0) 2021.07.16

+ Recent posts