본문 바로가기

개발/서버

nginx 구라에 속지말자

nginx 서버 워커 방식으로 많은 동접 처리량 과 서버 퍼포먼스 뛰어나다는 그래프 신뢰성은 반으로 줄어든다. 



테스트 물리 환경

Xeon Quad Core 3.2GHz

2G DDR3


nginx-1.4.1

httpd-2.2.21 + php-5.3 + geoip



아파치 입장에서 상당히 불리안 상황으로 설정 해보았다 . 

다만 아파치 프리포크 방식으로  max 6천으로 설정하고 


nginx-1.4.1는 성능 좋다길래 8천 설정 했다 



ab 툴로써는 nginx 가 데이터 상으로 압승이다. 


네트워크 연결은 종료 되었으나 원격 수신 보장 상태

netstat -nap | grep :80 | grep TIME_WAIT | wc -l


아파치 6천 닉스 8천 정상 처리 되었다고 나오면 에러 사항 없다 .



실제 . .................


광고 서버에서 이미지 서버로 닉스를 띄웠다.

nginx

netstat -nap | grep :80 | grep TIME_WAIT | wc -l

6000

3분의 1은 x 박스 나온다 . 서버에서는 정상 처리 되었다고 나온다.


아파치

netstat -nap | grep :80 | grep TIME_WAIT | wc -l

6000

눈에 띄게 느리지만 전부 표시된다. 마지막 송수진 보장한다.



중간 점검

nginx : 말도안되는 적은 메모리 점유율과 프로세서 사용율을 보면 우악~ 하고 다들 엄청나다는 소문이 날만하다.

도저히 믿기지 않는다. 어떻게 하나의 접속률에 최소 메모리가 할당되어야 하는데도 불구하고 전체 접속률에 비해 엄청 낮은 메모리 점유율과 프로세서 로드가 매우 낮다 .


결론 : 구라다 . 숫치만 그렇다.


소스 컴파일 하면서 nginx의 소스를 보았다. 매우 심플하다 . 대단한 알고리즘은 없다 .


과연 아파치가 이걸 몰라서 nginx보다 높은 메모리 점유율과 높은 퍼포먼스를 유지했겠는가



왜 많은 IT 업계에서 아파치를 더 많이쓰는가. 대부분 nginx를 고려도 해보았을것이다. nginx 점유율이 왜 10프로 이상 못올라가고


저사양 서비스에서만 유지되는지 이유를 알것이다.




ab 툴로 나오는 숫치만 보지 말자 . 실제 서비스에서 돌려보면 무가 문제인지 알것이다. 


로그처리 반은 구라다 . 서비스 3/1 이 불통인데도 성공이라도 나온다. 에라 구라새끼들. 

'개발 > 서버' 카테고리의 다른 글

php compile troubleshooting  (3) 2014.12.08
RPM 사용법 정리  (0) 2013.06.14
프로그래밍 - gdb , objdump  (0) 2012.02.05
네트워킹 - 작은 웹서버 , 웹서버 원리 제작  (0) 2012.02.05
[ gdb 로 스택 구조 확인 ]  (0) 2012.02.05