node.js 한탄 및 테스트 부탁글...입니다. 잇힝 > 자유게시판

자유게시판

node.js 한탄 및 테스트 부탁글...입니다. 잇힝 정보

node.js 한탄 및 테스트 부탁글...입니다. 잇힝

본문

미니톡 새버전을 node.js로 개발하고 있습니다.

어제 부하테스트를 위해 약 1000명을 하나의 방에 집어넣어두고 부하테스트를 했는데 cpu 부하가 100% 인겁니다.

그래서 다년간? 채팅서버를 만들어본 경험을 살려 원인 파악에 나섰는데요.

첫번째 의심은 1000명이상의 접속을 받아드리지 못하고, 소켓접속대기요청이 큐에 쌓에 발생하고 있다! 라고 의심해 동접자를 2000명정도 접속하도록 고쳐봤는데...

2000명을 받아드리는겁니다. cpu로드가 100%인데도!! 그래서 아 소켓대기가 쌓인건 아니구나. 하고 몇가지 부하가 걸릴만한 부분을 제거하고 테스트를 계속했는데 여전히 100% 로드...

그래서 설마 하는 심정으로 유저가 접속할때, 나갈때 브로드캐스트하는 부분을 지우니, 부하가 5~10%로 뚝 떨어지는겁니다.. 읭?!!

결론은 이 node.js와 socket.io 에서 브로드캐스트할때 접속자 전체에게 루프돌면서 메세지를 보내는부분이 문제라는 것...

기본적으로 제공하는 API인데 이렇게 부하가 심할줄은 몰랐기에 당황... 그렇다고 채팅서비스에서 브로드캐스트를 빼는건 말도 안되고...

그래서 일단 브로드캐스트를 유지한상태에서 과연 얼마나 많인 동접을 받아드리는가! 가 궁금해져 또다시 이렇게 테스트를 부탁드리게 되었습니다.. 읭?! ㅠ

사용하고 계시는 홈페이지 제일 하단부에 <iframe src="http://program.arzz.com/MiniTalk6/connect_test.php" frameborder="0" width="0" height="0"></iframe> 소스를 추가해주실분을 찾고 있습니다. ㅠ

숨겨진 아이프레임으로 접속하는거라 홈페이지 레이아웃에 영향을 끼치진 않으며, 또한 제 서버가 부하로 죽는다하더라도 기존 홈페이지가 로딩되는데는 크게 문제가 없습니다. 사용자에게 미치는 부하도 그닥 심하지 않습니다. (고작해야 웹소켓 5개정도 열리는 정도...)

동접자수는 http://program.arzz.com/MiniTalk6/connect_test.php 에서 확인하실 수 있습니다.
대략적으로 한 1만명정도 (일인당 5개 접속을 하니깐 한 2000명정도) 동접테스트를 무리없이 수행한다면 실제 서비스를 하는데 크게 문제가 없다고 판단할 수 있을 것 같습니다.

테스트에 참여해주실분께 미리 감사의 인사를 드립니다. (저도 거대 홈페이지 하나 가지고 있어서 동접테스트를 혼자 처리할 수 있었으면 좋겠습니다. 엉엉 ㅠ _ㅠ)
추천
0

댓글 0개

전체 195,263 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT