← 질문 목록
#41깊이 0

TIME_WAIT 포트 고갈은 어떻게 진단하는가?

네트워크깊이프로토콜

netstat이나 ss로 TIME_WAIT 소켓을 목적지별로 세고, 에페머럴 포트 범위와 EADDRNOTAVAIL 발생 여부를 함께 보는 것이다.

  • 소켓 수 계측ss -s 또는 netstat -antp | grep TIME_WAIT
  • 포트 한도 확인sysctl net.ipv4.ip_local_port_range
  • 에러 로그 진단Cannot assign requested address 발생 여부

시스템에서 사용할 수 있는 에페머럴 포트 범위는 한정되어 있다. 같은 상대에게 쓸 수 있는 포트 조합이 TIME_WAIT로 다 차면 새 연결에서 EADDRNOTAVAIL이 난다. 상대가 다르면 같은 포트를 다시 쓸 수 있다.

주로 요청을 보낸 클라이언트나 백엔드 API를 호출하는 서비스에서 능동적 닫기(Active Close)를 연속으로 수행할 때 이 현상이 나타난다. 소켓 수뿐만 아니라 어떤 프로세스가 능동적 닫기를 주도하는지 확인해야 한다.

원인이 잦은 재연결이면 커넥션 풀과 HTTP Keep-Alive부터 검토한다. 커널 설정은 그다음이다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

TIME_WAIT 포트 고갈은 어떻게 진단하는가?