마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안녕하세요 서버 소캣단 패킷수신처리 질문드립니다

0 추천

안녕하세요.

실시간게임서버를 만들고있습니다.
Netty라이브러리를 사용하고있습니다.
(nio소캣 사용)
 
동접인원 1000명을 쓰레드풀의 쓰레드 10개로 100ms마다 처리하려고 합니다.
쓰레드1개가 100ms마다 100명을 처리해야하는데,(이벤트가 100ms마다 발생합니다.)
단순히 쓰레드풀만두고 패킷을 받아처리해도 밀림현상이 일어나지 않을까요?
 
밀림현상을 어느정도 해결하기 위하여 버퍼를 둔다고해도
서버에서 쓰레드를 먼저 할당받아야 버퍼에 저장을 할텐데...
쓰레드처리시간이 길어져서 대기자가 늘어나면,
밀림현상이 일어날것도 같구요...
쓰레드를 더 많이 둬야 할까요?
더 둬봤자 실제로 사용되는 쓰레드는 코어갯수만큼이니,
쓰레드 갯수가 코어갯수 + 1 이상은 의미 없을듯 하구요...
혹은 쓰레드풀에 밀린작업을 담아두고 처리하는 링크드리스트같은 임시 저장장소를 둬야할까요?
혹시 Netty사용하신분은 워커쓰레드에 이런것을 대비하여 만들어진 구조가 따로 있는지 아시나요?
 
경험이 없다보니, 주옥같은 고수님들의 조언이 필요합니다.
서버가 쓰레드풀을 통한 패킷을 받는 구조를 조금 더 자세하게 알고싶은데요...
가르쳐주시면 감사하겠습니다.
고맙습니다.
수고하세요.
앱개발잼나 (1,450 포인트) 님이 2013년 10월 24일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...