Mucho TIME_WAIT en netstat en el servidor Apache

Mucho TIME_WAIT en netstat en el servidor Apache

¿Cuál sería el motivo de que haya muchos TIME_WAITaquí? Incluso tenemos muy pocas conexiones SYN ESTABLECIDAS.

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

Respuesta1

Para poder explicar esto es necesario tener un buen conocimiento de las comunicaciones TCP/IP. En la forma más simple, cuando alguien se conecta a su servidor web, su servidor asume que la conexión durará un tiempo, asigna un puerto para esa comunicación y establece un tiempo de espera para ese canal de comunicación. El canal o el puerto, como se ve en netstatla salida, pasa al estado TIME_WAIT, si la persona en el otro extremo, es decir, el cliente, deja de comunicarse. Quizás todo lo que necesitaba era mirar una página y listo. Pero su servidor no puede saber eso. Está operando bajo el supuesto de que la comunicación llevará mucho tiempo.

La razón por la que hace esto es principalmente porque es más costoso (en términos de recursos) establecer un nuevo canal de comunicación que mantener uno existente, especialmente si el cliente va a realizar múltiples solicitudes desde su servidor. Si quieres ser un experto y aprender más sobre esto, aquí hay un artículo bastante bueno al respecto:http://www.serverframework.com/asynchronousevents/2011/01/time-wait-and-its-design-implications-for-protocols-and-scalable-servers.html

Si está interesado en cómo deshacerse de ellos o evitar que sucedan con tanta frecuencia y por qué ocurren en forma resumida, aquí hay otra página que quizás desee consultar:http://www.fromdual.com/huge-amount-of-time-wait-connections

información relacionada