마짱짱의 지식창고

Apache vs NginX 본문

Linux

Apache vs NginX

마짱짱 2020. 9. 17. 15:13
반응형

Apache 와 NginX 는 가장 많이쓰이는 오픈소스 웹 서버이다.

 

 

Apache 

  - 스레드 / 프로세스 기반 구조 : 클라이언트 요청 하나당 스레드 하나가 처리하는 구조

    (요청이 많을 수록 CPU와 메모리 사용지 증가하기 떄문에 성능이 저하 될 수 있다)

 

  - MPM(Multi Processing Module) 아키텍쳐를 기반으로 클라이언트 요청 처리방법을 처리하는 기술 기반

    (MPM 다중처리모듈)

 

Prefork MPM

    PreFork MPM

      - 자식 프로세스를 미리 준비해 두는 방식으로 최대 1024개까지 가능하다

      - 하나의 자식 프로세스당 1개의 스레드 연결

      - 스레드간 메모리 공유를 하지 않아 독립적으로 사용으로 안정적이나  메모리를 많이 사용한다.

 

   

Worker

    Worker MPM

      - 프로세스당 여러개의 스레드 연결

      - 스레드간 메모리를 공유하여 메모리 사용량이 적다.

      - 통신량이 많은 서버에 적합하다.

 

  * Apache 2.4 이후로 Event MPM 모듈이 추가되었다.

    아래 설명할 NginX의 Event-Driven 기능을 생각하면 된다.

 

  - Apache의 문제점

      접속할때마다 프로세스 또는 스레드를 생성하는 구조이다.

      동시에 접속요칭이 많을시 그만큼의 프로세스나 스레드 생성비용이 들 것이고,  대용량 요청을 처리할 수 있는 웹서버로서

        한계가 들어난다.

 

NginX

  - Event-Driven 처리 기반 구조

     한개 또는 고정된 프로세스만 생성하고, 그 프로시스 내부에서 비동기 방식으로 효율적으로 작업을 처리한다.

       따라서 동시접속 요청이 많아도 프로세스 또는 스레드 생성비용이 생성되지 않는다.

Event-Driven

 

 

결론 : Apache와 Nginx는 서로 누가 더 좋고 나쁘다 라고 얘기할 수 없다.

          상황에 맞게 사용하는 것이 좋다.

 

 

---

참고

https://youngmind.tistory.com/entry/Apache-vs-Nginx ,

https://cornswrold.tistory.com/429,

https://cntechsystems.tistory.com/24

https://www.plesk.com/blog/various/nginx-vs-apache-which-is-the-best-web-server/

반응형

'Linux' 카테고리의 다른 글

ZFS 의 주요기능(cow, checksum, RAID-Z..등등)  (0) 2021.01.13
ZFS 개요 및 구조  (0) 2021.01.13
[Ubuntu] 설치 후 할 일  (0) 2020.07.26
[Linux] Raid, Disk관리  (0) 2020.05.27
[Linux] 논리볼륨 Logical Volume (구성,추가,축소)  (0) 2020.05.27