netty ChannelFuture에 operationComplete 과 close_wait 관계가 알고 싶어 여쭤봅니다.

334 views
Skip to first unread message

류재섭

unread,
Dec 19, 2013, 6:19:33 AM12/19/13
to nett...@googlegroups.com
netty를 이용해 작업을 하고 있는 한사람입니다.

작업 중에 소켓이 close_wait  된 상태가 생각보다 잘 안빠지는 상황이 종종 일어나서 실제 서비스를 재시작하는 케이스가 자꾸 발생하는데요

사실  netty의 문제는 아니죠 . 어플리케이션에서 문제가 있는게 확실하고 확인을 해보니 

netty ChannelFuture에 operationComplete 에 구현 내용에 무거운 작업들이 있더라구요 

현재 제 개인 적인 생각에는 

1 . 클라이언트 접속 종료 요청 
2 . close_wait 상태로 변경 
3 . 서버에서는 operationComplete  호출 
4 . LAST_WAIT or socket teminated 상태로 변경 

의 상태로 되는게 아닌지 궁금해서 글을 올립니다 

김태봉

unread,
Dec 19, 2013, 10:31:46 AM12/19/13
to nett...@googlegroups.com
리눅스에서 close_wait   상태는 커널 옵션값으로 설정할수 있습니다. 대부분 디폴트값인 120초 입니다.
보통 30초로 조정하시면 만족할수 있는 성능이 나오리라 생각합니다.
또한 가용 port 범위가 30000-61000 정도로 잡혀있는데, 5000 - 65000 정도로 잡으면 가용 범위가 두배로 늘어나게 됩니다. (물론 서버의 하드웨어인 메모리와 cpu는 그에 맞게 구성되어야 합니다.)


2013년 12월 19일 오후 8:19, 류재섭 <fbw...@gmail.com>님의 말:

--
Google 그룹스 'Netty Korean User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 netty-ko+u...@googlegroups.com에 이메일을 보내세요.
더 많은 옵션을 보려면 https://groups.google.com/groups/opt_out을(를) 방문하세요.

류재섭

unread,
Dec 19, 2013, 11:37:42 PM12/19/13
to nett...@googlegroups.com
말씀하신 이야기는 
operationComplete 과 close_wait 가 전혀 상관 없다는 이야기 인가요?
   커널 설정때문에 그렇다는 것인지 그 부분을 잘 모르겠습니다.  

  
Reply all
Reply to author
Forward
0 new messages