Nginx

얼렁뚱땅 연구소의 Apache vs. Nginx 간이 성능 비교 (2)

빅토르최·2014년 3월 7일·조회 7,308

테스트 환경

- 특정 웹사이트의 웹서버 단에서 처리되는 html 및 image 파일 호출하는 시나리오 작성

- Linux (CentOS), CPU 1 Core, 2GB Memory

- Apache 웹서버 2.2.26

- Nginx 1.4.5

- 결과의 신뢰성을 높이기 위하여

  1) 동일 조건으로 각각 5회씩 부하

  2) 모든 테스트 이후에는 서버 리부팅하여 관련 자원 초기화

    (이 부분이 1차 테스트와 달라진 점입니다)

< 30분(1800초) 동안, 3초에 2명씩 Ramp-Up 하며 부하 투입 >

  • Apache 웹서버 : MaxClients 2048
  • Nginx : worker_processes 2, worker_connections 1024
부하시간 Ramp-Up 횟수 Apache 웹서버 NginX
평균 TPS Peak
TPS
요청 수 오류 수 사용
메모리(KB)
평균 TPS Peak
TPS
요청 수 오류 수 사용
메모리(KB)
1800초 2명 / 3초 1차 110.7 236.5 197,337 19,468 137,580 114.3 374.5 203,771 17,628 108,384
1800초 2명 / 3초 2차 110.8 236.5 197,945 18,697 152,136 113.8 350 203,353 17,857 109,552
1800초 2명 / 3초 3차 110.6 230 197,650 18,242 150,264 113.5 311 202,358 17,898 107,192
1800초 2명 / 3초 4차 111 237.5 198,415 19,616 152,120 113.7 384 203,122 16,203 107,116
1800초 2명 / 3초 5차 110.6 247.5 197,247 18,875 148,072 114.3 373 204,183 17,659 109,912

평균 TPS, Peak TPS, 처리 요청 수 등 큰 차이는 없으나 어느 정도 NginX 승입니다.

그리고 이번 테스트에는 추가적인 데이터를 도출하였는데 메모리(KB) 라고 된 부분입니다.

이 값은 부하 투입 직전 free memory - 최종 부하 처리 시점 free memory 로, 

NginX 대비하여 Apache 웹서버가 1.3배 ~ 1.5배 가량 더 소모하고 있습니다.

그리고 각각 다섯 차례 부하를 주는 동안 CPU idle 값을 기록하였습니다.

먼저 Apache 웹서버입니다. 

그리고 NginX 입니다.

CPU usage 에 대한 해석은 보는 분들께 맡기도록 하겠습니다.

테스트를 더 진행할 지, 연구소를 폐업할지는 모르겠네요.

댓글 6

로그인 후 댓글을 남길 수 있습니다.

  • 몽상가몽상가· 2014년 3월 10일
    빅토르님의 BMT 결과에 따르면... TPS는 nginx 승 메모리 사용량은 apache 승? CPU 사용량은 혹시 CPU idle 아닌가요? X축이 시간이나 사용자 수일텐데 어찌 부하가 늘었는데 usage가 적어지는지 의문이네요. 그리고 max request는 1200정도로 생각하면 되는건가요? 마지막으로 부하발생기 자체의 병목은 없었는지도 궁금합니다. 답변 주실꺼죠? ^^
  • 빅토르최빅토르최· 2014년 3월 10일
    몽상가/ 메모리도 NginX 승입니다. 저 메모리는 사용메모리라 적게 사용하는 것이 좋습니다. Y축은 예상하신대로 idle 입니다. (거의 100에 가깝게 시작, 즉 idle 100%) 미처 사전에 자세히 설명하지 못했군요. 그리고 부하발생기 병목은 없었던 것 같습니다.
  • 몽상가몽상가· 2014년 3월 10일
    아 메모리는 흔들리는 버스에서 봐서 그런지 착각했네요. 근데 테스트 결과를 보면 전반적으로 인터넷에 돌던 비교자료와는 느낌이 좀 다르네요? 그 자료에도 그렇고 제가 지금 공부하고 있는 내용에도 그렇고 nginx는 request 증가량과는 다르게 자원 사용량이 비선형적이라고 했는데 CPU usage를 보면 apache와 유사하게 선형적인 증가를 보이는 듯 합니다.
  • 빅토르최빅토르최· 2014년 3월 10일
    몽상가/ 저도 사실은 고민입니다. 테스트가 뭔가 잘못되고 있는 것은 아닌지, 혹은 부하가 너무 적어서 그런 것인가 고민하며 여러 시도를 해보고 있는데 아직 흔히 볼 수 있는 형태의 결과가 나오지는 않고 있습니다. 과연 진실은 무엇인지..
  • 미할· 2014년 3월 11일
    이렇게 들어가면 동시유저가 최대 몇까지 들어가는건가요?
  • 빅토르최빅토르최· 2014년 3월 11일
    미할/ 최후에 최대 1200명 정도 들어갑니다.