Lote de FIN_WAIT2, CLOSE_WAIT, LAST_ACK e TIME_WAIT em Haproxy

3

Estamos executando o haproxy em produção por cerca de 10k + usuários simultâneos. Mas estamos vendo muito de FIN_WAIT2, CLOSE_WAIT, LAST_ACK e TIME_WAIT na saída netstat. Esta saída está em um nó 8G ubuntu-12.04.

   8046 CLOSE_WAIT  
      1 CLOSING  
      1 established)  
  40869 ESTABLISHED  
   1212 FIN_WAIT1  
   7575 FIN_WAIT2  
      1 Foreign  
   2252 LAST_ACK  
      7 LISTEN  
    143 SYN_RECV  
   4920 TIME_WAIT  

Alguém por favor pode me dizer que ajustes eu preciso fazer?
Por favor, note que todas essas conexões são conexões persistentes.

tcp_fin_timeout = 30  
tcp_keepalive_time = 1800

Neste momento, a aplicação está funcionando bem. Mas querendo saber se haverá algum problema ao adicionarmos mais usuários a esse nó haproxy.

    
por Tux 19.11.2012 / 12:02

1 resposta

6

As conexões listadas no primeiro parágrafo são ESTABELECIDAS ou estão em processo de limpeza após terem sido usadas. Estabelecido significa o que o nome implica. Uma conexão é estabelecida entre um dos seus usuários e o HAProxy. Uso como pretendido.

Os outros estados mencionados no primeiro parágrafo indicam que uma conexão previamente estabelecida terminou a transferência de dados. A melhor maneira que eu posso explicar isso é com um diagrama.

Resumidamente: Se você tem um monte de FIN_WAIT 1 e FIN_WAIT 2's, então não há nada errado com o servidor. Você está simplesmente esperando que os clientes terminem.

Como não é um problema com o servidor, adicionar mais usuários não deve ser um problema até que você atinja os limites da rede do kernel. Você não postou o que eles são, então eu não posso comentar sobre como você está perto deles.

    
por 19.11.2012 / 13:23