서비스 운영하다보니 서버에 CLOSE_WAIT된 socket이 엄청많이 발생하는것이 발견됨...
* CLOSE_WAIT는 왜 발생하는가?
- 요 한장의 이미지가 제일 좋은 설명인듯
- http://kukuta.tistory.com/155
- 요거를 코드로 구현해 놓은건 이쪽 사이트에서 확인해볼수 있음.
http://www.sysnet.pe.kr/Default.aspx?mode=2&sub=0&detail=1&pageno=0&wid=1334&rssMode=1&wtype=0
* 서버의 소켓 상태 확인
# netstat -nto | grep CLOSE_WAIT.*on
~~~~~~~ CLOSE_WAIT on (10.51/11/0)
~~~~~~~ CLOSE_WAIT on (115.64/12/0)
~~~~~~~ CLOSE_WAIT on (5.27/14/0)
~~~~~~~ CLOSE_WAIT on (110.84/13/0)
~~~~~~~ CLOSE_WAIT on (90.57/15/0)
- client로부터 FIN을 receive 받고 ACK를 send를 했는데 ACK가 처리되지 못하고 있어서(send-q에 처리되지 못한 q가 남아있음) 다음단계로 넘어가지를 못하는 상태로 볼수 있다.
- http://stackoverflow.com/questions/5907527/application-control-of-tcp-retransmission-on-linux
SSISO Community