본문 바로가기
넓고 얕은 웹 지식

Apache와 NginX 비교 및 차이점

by 팡펑퐁 2023. 5. 15.
728x90

Apache HTTP Server

주요 특징

구조

Apache

  • 스레드 / 프로세스 기반 구조
  • 하나의 프로세스가 하나의 요청을 처리하는 데 사용되는데 높은 트래픽 조건에서 리소스를 많이 사용하기 위함이다. 
  • 사용자가 많아지면 스레드 생성, 메모리 및 CPU 낭비 심하다.
  • 모듈식 디자인으로 유연성이 좋아 다양한 모듈을 사용하여 기능을 확장할 수 있다.

 

NginX

  • Event-Driven 처리 기반 구조
  • 이벤트 중심의 비동기 아키텍처를 따른다.
  • 한 개 또는 고정된 프로세스만 생성하여 여러 개의 커넥션을 이벤트 핸들러를 통해 비동기 방식으로 처리한다.
  • 적은 양의 스레드만 사용되기 때문에 Context Swiching 비용이 적고 CPU 소모가 적다.
  • 여러 연결을 동시에 처리할 수 있는 정교한 아키텍처를 가지고 있어 개발이 복잡하다. 따라서 모듈이 다양하지 않다.

 

 

성능

Apache

  • 정적 파일의 요청이 많은 경우 높은 리소스 비용을 발생시킨다.
  • 동적 콘텐츠에 탁월한 성능을 가지고 있다.

NginX

  • 정적 파일 처리가 Apache에 훨씬 빠르며 리소스 비용이 적다.
  • 동적 콘텐츠에 탁월한 성능을 가지고 있다.
  • 이벤트 기반 모델을 통해 수천 개의 연결을 동시에 효율적으로 관리할 수 있으므로 동시 트래픽이 높은 서버에 사용하기 좋다.

 

 

정리

Apache 

메모리 리소스 낭비가 심하지만 모듈이 다양하며 안정성, 확장성, 호환성에 이점이 있다. 

NginX

메모리 리소스 사용률이 낮고 동시에 발생하는 대량의 트래픽에 대응이 가능하며 성능이 좋다. Apache에 비해 다양한 모듈이 없다. 

 

 

 

참고

https://velog.io/@deannn/Apache와-NginX-비교-차이점

https://rootkey.tistory.com/143

728x90