Nginx VS Apache

Hyunjung Bae·2023년 6월 21일
0

Server 어려웡

목록 보기
1/6

Nginx
비동기 Event-Drive 으로 요청하여 적은 자원을 사용해 CPU 소모가 적다.
다수의 클라이언트 연결을 효율적으로 처리 가능.
문맥 교환(context switching)의 비용이 적다.
Apache에 비해 모듈이 다소 적다.
복잡한 처리가 필요한 요청의 경우 시스템 큐에 쌓이게 되어 성능이 저하될 수 있다.


Apache
환경에 맞게 PreFork 방식(요청마다 프로세스 생성), Worker 방식(프로세스와 쓰레드 병행해서 사용) 선택 가능
안정성, 확장성, 호환성의 장점이 있다.
하나의 클라이언트 연결에 하나의 쓰레드만 부여된다.
클라이언트의 연결이 늘어남에 따라 프로세스가 계속 늘어나 메모리 낭비가 심하고 문맥 교환 비용이 든다.
프로세스가 blocking 되면 요청을 처리하지 못하고 이전 요청을 처리하기 전까지 대기상태가 된다. (해결 가능한 기능이 있지만 효율이 떨어짐)


두 웹서버는 애초에 만들어진 목적이 다르다. Apache 서버가 압도적이 1위를 달리고 있을때는 안정성&확장성이 중요할때였고, Nginx가 치고 올라올때는 동시커넥션이 중요한 때였다.

0개의 댓글