+ Responder ao Tópico



  1. #1

    Red face Muitos TIME_WAIT :(

    Pessoal gostaria de uma ajuda da comunidade...

    estou configurando um servidor apache com PHP5 + eAccelerator + MySQL 5 ... está tudo ok e funcionando...

    O unico problema que estou detectando é um numero mto grande de TIME_WAITs quando dou o comando "netstat -tupan | grep tcp"

    ele me mostra varias linhas como estas abaixo:

    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51267 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51264 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51264 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51265 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51270 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51271 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51268 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51269 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51273 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51298 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51299 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51302 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51303 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51300 TIME_WAIT -
    tcp 0 0 ::ffff:74.55.21.162:80 ::ffff:200.205.55.7:51301 TIME_WAIT -

    Agora dei um comando para CONTAR
    netstat -tupan | grep tcp | grep TIME_WAIT | wc -l
    332

    e o resultado é 332 TIME_WAIT e fazem apenas 5 minutos que levantei este servidor !!!

    tenho uma aplicação em PHP que faz de 1 em 1 segundo consulta no banco de dados... mas eu tinha isso rodando em outro servidor e nao tinha TANTOS TIME_WAIT como esta tendo agora !!!


    Agradeço a Atenção dos Amigos !!!

  2. #2

    Padrão

    systecl -a | grep timeout

    abaixa o tempo de timeout ..


    net.ipv4.tcp_fin_timeout = 30

  3. #3

    Red face

    Citação Postado originalmente por alexandrecorrea Ver Post
    systecl -a | grep timeout

    abaixa o tempo de timeout ..


    net.ipv4.tcp_fin_timeout = 30

    Agradeço mto sua Atenção Alexandre... mas aparentemende não resolveu !!! pois os TIME_WAIT ainda continuam sendo gerados mto Rapidamente após o ser efetuado o Login dos usuarios no SISTEMA (em PHP + MySQL) e somente quando os usuarios desconectam do Sistema que os Time_WAIT começam a sumir de acordo com o tempo que vc me ajudou a configurar dentro do ' net.ipv4.tcp_fin_timeout'

    Será que seria melhor se eu compilar o Apache pois estou usando a versão que vem com o RHLE4 que é a Apache/2.0.52, vcs acham melhor eu tentar compliar com a versão 2.2 ??? ou 1.3 ???


    Abraços Pessoal

  4. #4

    Padrão

    O script em PHP termina de fato a sessão? tem que verificar se nao é a sua propria aplicação criando um DoS, porque nao é normal ficar dando time_wait em uma aplicação bem programada, o correto seria ela fechar todas as conexoes quando nao precisa mais.

    Nao querendo discutir detalhes de programação e nem jogando pedra em desenvolvedor, mas é sempre o administrador de sistema operacional que tem que dar um jeito para a aplicação funcionar direito, ao inves do programador reconhecer o erro na aplicação e programa-la corretamente.

    No seu caso ai voce esta reduzindo o tempo de time out para resolver um problema, entretanto tem que resolver na fonte, de ONDE está gerando esse problema. Apenas analise esse fato e veja o que pode ser modificado na aplicação e o que nesta aplicação gera este problema de TIME_WAIT.

  5. #5

    Wink

    Citação Postado originalmente por mistymst Ver Post
    O script em PHP termina de fato a sessão? tem que verificar se nao é a sua propria aplicação criando um DoS, porque nao é normal ficar dando time_wait em uma aplicação bem programada, o correto seria ela fechar todas as conexoes quando nao precisa mais.

    Nao querendo discutir detalhes de programação e nem jogando pedra em desenvolvedor, mas é sempre o administrador de sistema operacional que tem que dar um jeito para a aplicação funcionar direito, ao inves do programador reconhecer o erro na aplicação e programa-la corretamente.

    No seu caso ai voce esta reduzindo o tempo de time out para resolver um problema, entretanto tem que resolver na fonte, de ONDE está gerando esse problema. Apenas analise esse fato e veja o que pode ser modificado na aplicação e o que nesta aplicação gera este problema de TIME_WAIT.
    Agradeço novamente a Atenção, mas eu creio que não deva ser problema da Programação pois o mesmo sistema Rodava NORMALMENTE em servidor DEBIAN com APACHE 2.2.8, agora mudei para um RED HAT ENTERPRISE 4 com APache 2.0.52 e ocorreram estes Problemas de Time_WAIT... acho que vou tentar compilar essa versaão mais Nova do apache no meu servidor para ver se pode resolver o problema !!!


    Se alguem tiver mais alguma dica... eu agradeço D++

    Abraços PessoALL

  6. #6

    Padrão

    mas olhando auqi. o meu servidor tambem tem bastante timeout


    root@orbit [/etc]# netstat -an | grep TIME | wc -l
    1212

  7. #7

    Padrão

    os meus são mais light...

    Firewall:
    gabriel:~# netstat -an|grep TIME_WAIT| wc -l
    4

    Proxy:
    rafael:~/logs_squid/jz_jurunas# netstat -an|grep TIME_WAIT| wc -l
    191

    Sendo que ta fora de horario de pico