TIME_WAIT 많은 수의 소켓 연결 문제

코멘트 : 최근에 새 연결 시간 제한 연결 문제의 생성에 많은 짧은 프로젝트 리더가 있었다, 그리고 마지막으로 긴 연결을 유지함으로써 해결.

TCP 연결이 포트에 도달 연결 수를 제한이 경우, 새로운 연결을 생성하지 않을 경우 프록시 서버 또는 장치는 포트 한계가있다.

TIME-WAIT

이는 연결이 종료되며, TCP 접속 전의 마지막 상태는 완전히 폐쇄하고, 결국 원격 TCP 네 분 최대, 이번엔 승인 접속 인터럽트 요청을 수신 할 수 있도록 충분한 시간 동안 기다리는 TIME_WAIT 상태로 진입한다 활성 폐단 조정.

어떻게 감지하는 방법

커널信息:
커널 : TCP : request_sock_TCP : 포트 8009 보내기 쿠키 가능한 SYN 홍수. SNMP 카운터를 확인합니다.

상태의 수는 TIME_WAIT 연결 확인
-n 1 볼 "| 그렙에서 netstat -nt TIME_WAIT를 | 화장실 -l"

수는 가까운 포트 제한, 시스템은이 문제의 영향을받을 경우
고양이 / proc 디렉토리 / sys 인 / 그물 / 의 IPv4 / ip_local_port_range이

솔루션

1. 재사용 TIME_WAIT의
기본, 리눅스 임시 포트 범위에서 포트를 선택합니다, 32,768 사이 61,000 임시 포트 범위. 플래그가 설정되어 SO_REUSEADDR하지 않는 한, TCP 포트의 기타 다른 방식 로컬 주소는 사용 후 일정 기간 동안 닫혀 있지 않습니다. 이 TCP 연결이 불안정하게 만들면서이 플래그를 사용할 때주의해야합니다.

재사용 TIME_WAIT가 폐쇄 가능하게하는 동시에 대기 방지하기 위해 열려 /etc/sysctl.conf 파일에 다음 라인을 추가 할 수 있습니다
net.ipv4.tcp_tw_reuse = 1

2. 짧은 커넥터를 연결하는 가변 길이
고기능 동시 요청 서버가 존재하는 경우 때 오버 헤드 생성의 다양한 설정 / 해제 당 많은 수의 연결을 피하기 위해 짧은 자신의 서버, 바람직하게는 길이와 TCP 통신 연결; 경우 접속을 설정하는 목표 서버가 자신의 것이 아니라, 상대방이 긴 연결을 지원하는지 여부를 고려해야 할 것이다.

原文 链接 : 당신은 너무 많은 TIME_WAIT 소켓을 보는 경우에해야 할 일은

추천

출처www.cnblogs.com/jpush88/p/11229952.html