RadarURL

웹서버,WAS
2013.05.28 22:26

Apache vs Nginx 성능을 밝혀라!

조회 수 5992 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

미물의 개발 세상 블로그를 운영하는 "하호진"님의 동의를 얻어 "Apache event_mpm vs Nginx 성능 비교"글을 소개 들입니다. 더 많은 글은 하호진님의 글을 참고하시기 바랍니다. 

 

Aapache 2.4 정식 버전의 event_mpm이 어떤 성능을 발휘하며 성능을 최대치로 올리기 위한 튜닝 정보 및 Nginx와 설정 및 성능 비교를 통해 본 Apache의 현재에 대해서 살펴보고자 한다.

과거 Apache와 Nginx의 성능 비교 자료들을 보면 대부분 Nginx의 성능이 월등하게 나온다는 것을 안다. 하지만, 여기서는 두가지 비교를 통해 최적의 사용 포인트를 개인적으로 짚어보는 의도가 강하다. 한마디로 잘 사용해 보고 싶다.

혹시 많이 사용해 보신분들이 이 글을 보시게되면 좋은 조언 부탁드립니다. 혹시 잘못 표기된 정보가 있으면 댓글로 첨언 부탁드립니다.

 

Apache vs Nginx 테스트 결과
테스트를 위한 설정을 기반으로 성능 테스트를 여러번 진행 한 가운데 최적의 성능을 보여주는 상태가 아래와 같다. 그 기준은 동시 가입자가 늘어도 지속적인 성능을 유지하는 것을 목표로 삼았다.

 

d3f9551c-85ae-41ae-81da-6402e1463cb8.png

 

요약해 보자면 동일 기준으로 정적인 페이지 테스트에서 아직은 Nginx의 성능이 많이 앞선다. 나름 Apache의 성능 저하 원인으로는 아마도 strace를 살펴본 결과 futex에서의 waiting이 자주 발생하는 것으로 보아서 아직 성숙단계가 아닌 것처럼 보인다. 그래서 Nginx만큼 성능이 못나온 것으로 보인다.

하지만, 용도에 맞추다보니 굳이 Apache를 사용하기를 고집한다면 prefork나 worker보다는 event 방식도 사용해 볼 가치가 있다.

 

Apache 에서 StartServers (Min|Max) SpareServers, MaxClients 같게 구성

트래픽이 많은 곳에서 참고할만한 구성으로 Apache의 운영시의 라이프사이클을 설정 정보와 함께 이해하기 쉽도록 매핑한 결과이다.

 

02354703-ec34-4d10-83c4-5d2c85f2c5c6.png


StartServers (Min| Max) SpareServers, MaxClients가 같은 값의 경우 프로세스 수가 고정되므로, MinSpareServers을 위해서만 필요 이상으로 fork할 것도 없고, MaxSpareServers에 의해 남은 프로세스를 KILL 할 필요도 없다. 특히 EC2(Xen)와 같은 클라우드에서 서버를 운영한다면 fork비용이 바싸서 성능 저하요인을 줄일 수 있을거같다.


그리고 CPU는 사용하지 않지만, IDLE 프로세스가 많아지면 메모리가 증가할 것이라고 생각할 수 있지만, CoW(Copy On Write)가 있기 때문에 메모리가 많이 소요되는 건 아니다. 

 

*. Copy On Write 개념
Linux는 fork로 자식 프로세스를 생성한 경우, 부모의 가상 메모리 공간의 내용을 자식에 복사해야 한다. 그러나 제대로 한다고 전체 공간을 복사하는 것은 fork의 비용이 높아지고, 자식이 부모와 같은 프로세스로 실행이 계속되면 내용이 중복된 페이지가 많아져 효율이 좋지 않아진다.


그래서 Linux의 가상 메모리는 메모리 공간 전체를 복사하는 것이 아니라, 처음에는 부모와 자식으로 메모리 공간을 공유하고 있고 쓰기가 일어나는 시점에 쓰기가 일어난 페이지만 새로운 페이지에 복사해서 개별적으로 가져가는 구조로 이 문제를 해결한다. 이것이 Copy-On-Write(CoW)라는 전략이다.

 

결론적으로 여러 튜닝등을 통해서 아파치 성능으 올렸지만, 특정한 상황에서의 단순한 웹서버 성능은 Nginx가 앞선다고 하호진님께서 평가하셨다. 다만, 특정한 상황에서의 테스팅 결과인 만큼 이를 이해 할 필요는 있을 것 같다.

 

출처 : http://www.iamday.net/apps/article/talk/2367/view.iamday

TAG •
?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 928136
655 웹서버,WAS [apache] HTTP/HTTPS 리다이렉트(Redirect/Rewrite) 하는 방법 new JaeSoo 2025.09.11 4
654 웹서버,WAS http를 https로 리다이렉트하는 여러가지 방법 JaeSoo 2025.09.10 3
653 웹서버,WAS SSL인증서 없이 HTTPS에서 HTTP로 되돌리기 JaeSoo 2025.09.10 5
652 웹서버,WAS [SSL] win-acme, Let's encrypt로 무료 SSL 인증서 발급 JaeSoo 2025.09.10 3
651 웹서버,WAS [SSL] Windows 10에서 Let's Encrypt로 SSL 인증서 무료 발급받기 JaeSoo 2025.09.10 3
650 웹서버,WAS 무료로 https SSL/TLS 인증서를 발급받을 수 있는 인증 기관 JaeSoo 2025.09.10 3
649 웹서버,WAS 아파치 서버에 https SSL 인증서 적용하는 방법 (apache httpd) JaeSoo 2025.09.10 3
648 웹서버,WAS 아파치2(Apache2) SSL HTTPS 적용하기 JaeSoo 2025.09.10 3
647 웹서버,WAS 아파치 웹서버에 멀티 도메인에 대한 80, 443 포트 설정하는 방법 file JaeSoo 2025.09.10 9
646 소프트웨어 Google Photo 대신 Immich를 써보자 file JaeSoo 2025.08.07 138
645 소프트웨어 [사진관리] PhotoPrism vs LibrePhoto 비교 소감 JaeSoo 2025.05.19 20
644 윈도우즈 윈도우 자동 로그온 설정이 보이지 않을 때 조치사항 JaeSoo 2024.08.16 203
643 소프트웨어 핸드폰 연락처 한방에 깔끔하게 정리하기 - by.컨택에디터(Contact Editor) JaeSoo 2024.05.27 32
642 윈도우즈 Rufus 로 윈도우10 usb 디스크를만들때 UEFI,Legacy 설정 (4G 이상 부팅 이미지 GPT) file JaeSoo 2023.11.20 2261
641 윈도우즈 Windows 11에서 모든 시스템 트레이 아이콘을 관리하고 표시하는 방법 file JaeSoo 2023.11.05 1368
640 윈도우즈 윈도우11 작업 표시줄 좌/우/상/하 이동 및 두 줄 만드는 방법 file JaeSoo 2023.11.05 1251
639 윈도우즈 윈도우11의 마우스 오른쪽 버튼 메뉴, 기존 윈도우 형태로 되돌리는 방법 file JaeSoo 2023.10.25 914
638 윈도우즈 [Msoffice] Pdfmaker office addin 오류 해결방법 file JaeSoo 2023.08.21 3776
637 유닉스/리눅스 [U2L] Unix to Linux 기대효과 분석 JaeSoo 2023.05.16 1259
636 유닉스/리눅스 리눅스 inodes full 이슈 해결 방법 JaeSoo 2023.05.02 169
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 33 Next
/ 33


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너