소켓 서버 폭주 ㅜㅜ 정보
소켓 서버 폭주 ㅜㅜ본문
현재 node.js 랑 socket.io로 이용해서 채팅서비스를 하고 있는데 ..
이녀석이 600명 가까이 동시접속해있으면 cpu 사용률이 99프로로 팡팡 올라갑니다 ...
정상일때는 590명이라도 cpu 5%정도 사용하고 있다가 600명 쯤되면 폭주하더군요 ..
(한곳에서 동시접속 500명정도 뽑는데 그곳채팅방 내리면 다시 cpu 정상됩니다.)
지금 이거 몇일째 검색해보고 잇는데 ...
ulimit 에 잇는 open files도 root 권한으로 채팅데몬이 돌아가기때문에 루트프로파일에 ulimit -n 999999 로설정하였지만 그대로인거같아요 .. (메모리 사용률도 2%미만입니다)
따로 테스트돌려봐도 소켓수때문에 문제가 되는게 아니라 다른문제가 잇는거같은데 ..
혹시 짐작되시는 게 있으시면.. 힌트라도 남겨주시면 감사하겠습니다 ㅠ
<!--
포인트는..400명이하일때는 10개월정도동안 이런현상이없엇다 와..
무한루프는 아닌거같구요..
500여명 정도는 입장퇴장만 가능한 상태였구요 ... mysql연결도 채팅서버당 하나만 열게 되있습니다..
혹시 무슨 배열제한같은게 잇는건 아닌지... 600명의 정보가 client 에 배열로 담기는데. ..
-->
ps. 제가 코딩을 잘못한건가요 ㅠ
이녀석이 600명 가까이 동시접속해있으면 cpu 사용률이 99프로로 팡팡 올라갑니다 ...
정상일때는 590명이라도 cpu 5%정도 사용하고 있다가 600명 쯤되면 폭주하더군요 ..
(한곳에서 동시접속 500명정도 뽑는데 그곳채팅방 내리면 다시 cpu 정상됩니다.)
지금 이거 몇일째 검색해보고 잇는데 ...
ulimit 에 잇는 open files도 root 권한으로 채팅데몬이 돌아가기때문에 루트프로파일에 ulimit -n 999999 로설정하였지만 그대로인거같아요 .. (메모리 사용률도 2%미만입니다)
따로 테스트돌려봐도 소켓수때문에 문제가 되는게 아니라 다른문제가 잇는거같은데 ..
혹시 짐작되시는 게 있으시면.. 힌트라도 남겨주시면 감사하겠습니다 ㅠ
<!--
포인트는..400명이하일때는 10개월정도동안 이런현상이없엇다 와..
무한루프는 아닌거같구요..
500여명 정도는 입장퇴장만 가능한 상태였구요 ... mysql연결도 채팅서버당 하나만 열게 되있습니다..
혹시 무슨 배열제한같은게 잇는건 아닌지... 600명의 정보가 client 에 배열로 담기는데. ..
-->
ps. 제가 코딩을 잘못한건가요 ㅠ
댓글 전체
멀티 프로세스 처리 하셨나요?
서버에는 부하가 가지는 않는거같아요 .
top 으로 확인하고 잇어도 폭주가 일어나기 전까지는 cpu 사용률 5프로정도를 유지합니다 ;
갑자기 600명정도에서 99프로로 확 바뀌더군요 .ㅠ
top 으로 확인하고 잇어도 폭주가 일어나기 전까지는 cpu 사용률 5프로정도를 유지합니다 ;
갑자기 600명정도에서 99프로로 확 바뀌더군요 .ㅠ
그건 100% 서버소켓이 더이상 새로운 접속자를 받아들이지 못하고, 대기큐에 쌓아두면서 받아들이기위해 무한히 시도하고 있어서 그런겁니다.
어디를 손봐야할까요 ㅠ
리눅스에 허용되는 소켓 한계를 조정이 필요하다는 말씀 이십니까?
글쎄요
?????????????????????????????????????????????????한국어군
참고해보겠습니다 ㅠ 감사합니다!