윈도우 nginx에서 우분투 nginx로 이사후 퍼포먼스 차이

그동안 윈도우 서버 잘 쓰다가 갑자기 리눅스 서버로 이사한 계기는 이거다

ttfb가 캐시플러그인을 쓰지 않는 한 800~1000ms대에서 놀고 있어서 nginx 세팅을 이것저것 해보다가
아파치에서 만든 jMeter라는 테스트 프로그램을 알고 나서다.

Number of Threads (users) : 100
Ramp-Up Period (in seconds) : 1
Loop Count : 1
으로 돌렸을때 결과다.

동접 100명시 12명은 bad gate나 페이지를 찾을수 없음이 뜬다는것이다.
이거 해보고 오전내내 세팅 바꿔가면서 테스트 해봤는데 동접 100명이상은 힘들다는 결론이 나옴.
거기다가 위 수치대로면 동접 100명 시도시 평균 33초는 기다려야 페이지가 뜬다는 소리다.

그러다가 문득 본게 CPU 점유율이 아무리 빡세게 돌려도 25% 이상 먹지 안는다는걸 보게 됬다.
구글 검색해보니 윈도우용은 워커가 1개이상 작동하지 않기 때문이라고 한다.

전에 본 윈도우용으론 절때 상용서버 구성해선 안된다는 글이 생각났는데 이런 의미였다니…
이것저것 더 검색해보니 내가 linsooStartServer 만든 이유처럼 fastCGI 프로그램이 돌다가 죽는 문제도
이미 검증(?)된 문제였던것이다.
공식 홈에서 찾진 못했지만 어느 유저가 포럼에 적어놓은거 보면 nginx 공식홈에 윈도우용은 상용서버로 쓰지 말라는
문구가 있다고 한다. (찾다가 영어라 포기함)

아무튼 그래서 하루 삽질해서 한성B14S 놋북에 우분투 서버 16.04.1 LTS로 밀고 이런저런 삽질을 통해
리눅스용 nginx로 블로그를 세팅하고 똑같은 조건으로 jMeter를 돌렸다.

동일조건인데 결과가 이렇게 다르다.
가장 ttfb가 가장 짧은 사람은 169ms로 윈도우보다 4.2배 빨랐고
가장 ttfb가 길었던 사람은 2629ms로 윈도우보다 22.8배나 빨라졌다
평균 ttfb는 1506ms으로 윈도우보다 22.4배나 빨라졌다.

거기다가 방문자 모두 페이지가 화면에 정상적으로 떴다.

htop으로 확인하면 동접 100 접속시 cpu 모두 사용하는 모습도 보여준다!
(B14S는 듀얼코어인데 하이퍼스레드 지원하는거 같습니다)
쿼드코어였더군요 ㅋㅋㅋ 구입하고 2년뒤에 알게됨

아무튼 성능면에서 대 만족중이긴 하다.

한가지 아쉬운건 윈도우 상태는 항상 CPU가 퍼포먼스 상태였었는데 (항상 풀클럭)
리눅스는 아직 방법을 몰라서 디폴트 상태인데 ondemand인듯 싶다.
어차피 요CPU는 풀클럭이나 아니나 소비전류 차이가 별로 없어서 윈도우상태에선 풀클럭으로 썼는데
리눅스도 방법이 있겠지 찾아봐야지.

아무튼 윈도우용 nginx는 개발 테스트용이지 실전 운용용으론 똥이구나 하는 생각이 마구마구 들고 있다.


Comments

“윈도우 nginx에서 우분투 nginx로 이사후 퍼포먼스 차이”에 대한 2개의 응답

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다