Muito TIME_WAIT no netstat no servidor Apache

Muito TIME_WAIT no netstat no servidor Apache

Qual seria o motivo de muitos TIME_WAITaqui? Mesmo nós temos muito poucas conexões SYN ESTABELECIDAS.

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

Responder1

Para explicar isso, você precisa ter um bom entendimento das comunicações TCP/IP. Na forma mais simples, quando alguém se conecta ao seu servidor web, seu servidor assume que a conexão durará algum tempo e aloca uma porta para essa comunicação e define um tempo limite para esse canal de comunicação. O canal ou porta, como você vê na netstatsaída, entra no estado TIME_WAIT, se a pessoa do outro lado, ou seja, o cliente, parar de se comunicar. Talvez tudo que ele ou ela precisasse fosse olhar uma página e pronto. Mas o seu servidor não pode saber disso. Ele está operando sob a suposição de que esta comunicação levará muito tempo.

A razão pela qual isso acontece é principalmente porque é mais caro (em termos de recursos) estabelecer um novo canal de comunicação do que manter um existente, especialmente se o cliente fizer várias solicitações do seu servidor. Se você quiser se aprofundar e aprender mais sobre isso, há um artigo muito bom sobre isso aqui:http://www.serverframework.com/asynchronousevents/2011/01/time-wait-and-its-design-implications-for-protocols-and-scalable-servers.html

Se você está interessado em saber como se livrar deles ou evitar que aconteçam com tanta frequência e por que eles acontecem de forma resumida, aqui está outra página que você pode querer dar uma olhada:http://www.fromdual.com/huge-amount-of-time-wait-connections

informação relacionada