Apache 서버의 netstat에 많은 TIME_WAIT가 있습니다.

Apache 서버의 netstat에 많은 TIME_WAIT가 있습니다.

많은 사람들이 여기에 있는 이유는 무엇입니까 TIME_WAIT? ESTABLISHED, SYN 연결이 거의 없습니다.

[root@www ~]# netstat -natp | grep "210.XX.XX.XX:80" | awk '{print $6}' | sort | uniq -c
      1 ESTABLISHED
     12 FIN_WAIT2
   9903 TIME_WAIT 

답변1

이를 설명하기 위해서는 TCP/IP 통신에 대한 이해가 필요합니다. 가장 간단한 형태로, 누군가 웹 서버에 연결하면 서버는 연결이 한동안 지속될 것이라고 가정하고 해당 통신을 위한 포트를 할당하고 해당 통신 채널에 대한 시간 초과를 설정합니다. 출력 에서 볼 수 있듯이 채널이나 포트는 netstat상대방, 즉 클라이언트가 통신을 중단하면 TIME_WAIT 상태가 됩니다. 아마도 그 또는 그녀에게 필요한 것은 한 페이지를 보는 것뿐이었을 것이고 그것은 끝났을 것입니다. 그러나 귀하의 서버는 그것을 알 수 없습니다. 통신하는데 오랜 시간이 걸릴 것이라는 가정 하에 운영되고 있습니다.

그렇게 하는 이유는 주로 기존 통신 채널을 유지하는 것보다 새로운 통신 채널을 설정하는 것이 리소스 측면에서 비용이 더 많이 들기 때문입니다. 특히 클라이언트가 서버에서 여러 요청을 하는 경우 더욱 그렇습니다. 좀 더 자세히 알아보고 싶다면 여기에 꽤 좋은 글이 있습니다.http://www.serverframework.com/asynchronousevents/2011/01/time-wait-and-its-design-implications-for-protocols-and-scalable-servers.html

이러한 문제를 제거하거나 자주 발생하는 것을 방지하는 방법과 이러한 문제가 요약 형식으로 발생하는 이유에 관심이 있는 경우 다음 페이지를 살펴보는 것이 좋습니다.http://www.fromdual.com/huge-amount-of-time-wait-connections

관련 정보