이곳에 이렇게 많은 사람들이 찾아오는 이유는 무엇일까 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