Um número crescente de conexões TIME_WAIT afeta o desempenho do servidor?

3

Eu tenho 2 servidores, ambos executando o RHEL 6, um para o Apache 2.2 e um para o memcached (memcached-1.4.4-3).

Eu notei um aumento no número de TIME_WAIT de conexões no servidor Apache

netstat -n | grep 11211  | awk '{print $6}' | sort |  uniq -c
      1 ESTABLISHED
    807 TIME_WAIT

e ainda assim o número aumenta.

  • O TIME_WAIT significa que ainda é usado?
  • O aumento do número afetará o desempenho do servidor?
  • Como posso me livrar deles?
por user161834 09.04.2013 / 15:22

1 resposta

3

As conexões no estado TIME_WAIT podem causar um problema, mas somente quando você chegar a cerca de 30.000 delas.

Cada uma dessas conexões está mantendo aberto o endereço IP e a porta local, no caso de mais pacotes da conexão anterior terem sido atrasados e virem após a conexão ter sido fechada. Este é um design recurso do TCP .

Se você tiver muito deles, novas conexões não poderão ser abertas até que algumas das conexões no estado TIME_WAIT expirem. Os sintomas que você pode ver no front-end são solicitações HTTP mais lentas do que o normal, principalmente quando o site está sobrecarregado. (Mas esses sintomas podem ter muitas, muitas causas diferentes, portanto não pule imediatamente para essa conclusão.)

Eu só encontrei uma vez esse problema e foi devido a um script mal comportado em alguns servidores que estava abrindo uma nova conexão com o banco de dados para cada consulta, em vez de manter aberta uma única conexão e executar várias consultas sobre ela. Não é um problema comum.

    
por 09.04.2013 / 16:14