Todos os produtos
Search
Central de documentação

Alibaba Cloud Linux:Modificar o timeout TCP TIME-WAIT para melhorar o desempenho da rede

Última atualização: Jul 02, 2026

Por padrão, o estado TCP TIME_WAIT dura 60 segundos no kernel Linux. Em cenários TCP de alta carga, reduzir esse timeout melhora o desempenho da rede. O Alibaba Cloud Linux 2 (versão do kernel 4.19.43-13.al7 e posteriores) e o Alibaba Cloud Linux 3 introduzem o parâmetro de kernel net.ipv4.tcp_tw_timeout para configurar esse valor.

Importante

A partir do Alibaba Cloud Linux 4, este parâmetro está descontinuado.

Informações básicas

O acúmulo excessivo de conexões no estado TIME_WAIT degrada o desempenho da rede. Esse cenário é comum em servidores que lidam com grande volume de conexões de curta duração. O estado TCP/IP TIME_WAIT corresponde a um período de espera após o fechamento de um socket pela aplicação. Durante esse intervalo, a pilha TCP/IP mantém o socket aberto para garantir a transferência completa dos dados entre servidor e cliente. A espera padrão é de 60 segundos. O Alibaba Cloud Linux oferece o parâmetro net.ipv4.tcp_tw_timeout para reduzir esse timeout em cenários de alta concorrência. O intervalo válido varia de 1 a 600 segundos.

Observações de uso

  • Reduzir o timeout TIME_WAIT para menos de 60 segundos contraria o conceito de "tempo de silêncio" do TCP/IP. Essa alteração pode fazer com que a pilha TCP aceite pacotes antigos e atrasados como novos dados ou rejeite pacotes novos válidos como duplicatas. Ajuste esse valor apenas sob orientação de um especialista em redes. Para mais informações, consulte IETF RFC 793.

  • Diferenças nas versões do kernel e nas configurações de parâmetros, como tcp_tw_reuse (consulte Otimização da configuração do sistema) e tcp_tw_recycle (consulte Diferenças entre o Alibaba Cloud Linux 3 e o CentOS 7), podem elevar o número de conexões TIME_WAIT no Alibaba Cloud Linux em comparação a outras distribuições, como o CentOS 7. Esse comportamento é esperado.

  • Na configuração padrão do Alibaba Cloud Linux, a quantidade de conexões no estado TIME_WAIT permanece abaixo de 5.000, com impacto insignificante no desempenho da rede.

Métodos de configuração

Os métodos a seguir modificam o parâmetro net.ipv4.tcp_tw_timeout. Substitua [$TIME_VALUE] pelo valor de timeout em segundos.

Importante

Modificar este parâmetro pode causar interrupções no serviço. Execute esta operação fora dos horários de pico para minimizar o impacto nos negócios.

  • Use o comando sysctl para alterar o timeout. A mudança entra em vigor imediatamente, mas não persiste após reinicializações.

    sudo sysctl -w "net.ipv4.tcp_tw_timeout=[$TIME_VALUE]"
  • Grave o valor diretamente em /proc/sys/net/ipv4/tcp_tw_timeout. A alteração tem efeito imediato, porém não persiste após reinicializações.

    sudo sh -c "echo [$TIME_VALUE] > /proc/sys/net/ipv4/tcp_tw_timeout"
  • Edite o arquivo /etc/sysctl.conf para tornar a mudança persistente entre reinicializações.

    1. Abra o arquivo /etc/sysctl.conf em um editor de texto, como o vim.

      sudo vim /etc/sysctl.conf
    2. Pressione i para entrar no modo de inserção e adicione ou modifique a seguinte linha ao final do arquivo.

      net.ipv4.tcp_tw_timeout = [$TIME_VALUE]
    3. Pressione Esc, digite :wq e pressione Enter para salvar e sair.

    4. Aplique as alterações sem reiniciar o sistema.

      sudo sysctl -p
    5. Verifique se o valor foi atualizado.

      sysctl net.ipv4.tcp_tw_timeout
Nota

Execute o comando netstat -ant | grep TIME_WAIT | wc -l para contar o número de conexões atualmente no estado TIME_WAIT.

Para servidores que processam alto volume de conexões efêmeras — como o Nginx atuando como proxy de camada 7 — a Alibaba Cloud recomenda definir [$TIME_VALUE] como 5 (timeout TIME_WAIT de 5 segundos).