안녕하십니까. 좋은아빠되기입니다.

 

아침에 글을 적었다가 삭제를 했는데...

 

아무래도 제가 이상한게.. 아닌거 같아서 다시 질문 드려 봅니다.

 

 

현재 보통때와 비슷한 사이트 이용 패턴을 보이고 있는 상황인데요..

 

 

이제껏 Apache 2.4를 쓸때는

 

watch 'netstat -anp |grep :80 | grep ESTAB | wc -l'
 

이렇게 동접자를 확인하면...

 

80~100 정도 나오던게...

 

 

Nginx로 바꾸고 나서는

 

200~220까지 나오네요..

 

 

아침에 글 적고 제 느낌적인 느낌이 잘못된것이 아닐까 생각도 했지만

 

얼핏 생각해도 2배 이상 나오는것 같아서...

 

Nginx는 80번 포트로 Apache보다 뭔가 많이 연결해서 작업하는게 있는건가요?

 

 

watch 'netstat -anp |grep :80 | grep ESTAB | wc -l'
 

이렇게 확인할 경우

 

동접자 200일 경우

 

로드에버리지상으로 1.0 정도를 유지하는게 맞는데...

 

로드에버리지도 0.4 수준이구요..

 

이건 뭐 저희 서버 셋팅을 잘해주셔서.... Nginx 와 저희 사이트 프로그램이 궁합이 잘맞아서라고

 

치부할수 있겠으나..

 

사이트 로그나.... 저희 사이트에 와서 문제풀고 남긴 기록 데이터 상으로...

 

절대 절대 동접자 200 수치가 나올 상황이 아니거든요... 물론 Apache 2.4 경험상으로요..

 

Nginx는 정말 다른건가요?

 

아니면 제 느낌적인 느낌에 이상이 있는걸까요?

  • profile

    아파치는 서버 자원을 많이 잡아먹기 때문에 커넥션을 오래 유지하지 않도록 튜닝해야 합니다. 작업이 끝나면 몇 초 안에 끊어버리지요. 그래서 마지막으로 뭔가를 클릭한 지 몇 초만 지나면 netstat에서 동접수로 잡히지 않습니다.

     

    nginx는 그런 문제가 없기 때문에, 아무 것도 하지 않고 그냥 탭만 열어놔도 Keep-Alive를 통해 커넥션을 1분 이상 유지할 수 있습니다. (아파치에서 권장하는 Keep-Alive 기간은 5초 정도인데, nginx는 기본값이 무려 65초입니다.) 커넥션 수가 많이 잡힐 수밖에 없지요. 그러고도 서버 부하는 오히려 더 낮습니다 ㅎㅎ

  • profile ?
    아.. 맞군요.
    아무리 생각해도 저럴리가 없는데.. 이상했습니다.
    10년간 Apache2에 너무 익숙하다보니..
    궁금증이 말끔하게 풀렸네요.
    감사합니다.
  • ? profile
    우리가 흔히 생각하는 동접수 -- 현재 내 사이트에 접속하고 있는 사람 수 -- 와는 어느 쪽도 맞지 않아요. 긴 글을 읽거나 댓글을 쓰느라 65초 이상 아무 것도 클릭하지 않고 있는 사람도 있을 테고, 브라우저에서 CSS, JS 등 여러 파일을 동시에 로딩하려고 커넥션을 여러 개 물고 있을 수도 있거든요.
  • profile ?
    동접자수를 어떻게 하면 정확하게 구하는건지 인터넷 여기 저기를 뒤져봐도 기진곰님 말씀 처럼 그런 이야기가 많더군요.. 80 포트 검사하는 방법도 가지가지구요..
    최근에는 구글 애널리틱스를 이용하는게 가장 신뢰도가 높다부터해서..
    이번에 새삼 느낀건데.. 동접자수는 어떻게 어떤 방식으로 측정하느냐..
    그게 제일 중요한것 같습니다. ㅎㅎㅎ