Keep-Alive

Melhorando o desempenho do site – Ativando o Keep-Alive

Como funciona o Keep-Alive?

Neste tutorial você aprenderá 4 métodos diferentes para permitir o Keep-Alive. Keep-Alive permite que o navegador de um visitante baixe todo o conteúdo (como JavaScript, CSS, imagens, vídeos e etc.) através de uma conexão TCP persistente em vez de fazer solicitações diferentes para cada arquivo. Isso proporciona um aumento de velocidade e desempenho, pois o navegador do visitante será capaz de obter tudo por meio de uma única e persistente conexão HTTP. Em suma, Keep-Alive é um padrão de comunicação entre um servidor web e um navegador com o potencial de reduzir drasticamente a quantidade de pedidos e acelerar uma página da web. Aqui está uma foto que ajudará a entender a diferença e os benefícios do Keep-Alive:

how keep alive works

Vantagens de permitir Keep-Alive:

  • Keep-Alive reduz o uso de CPU e memória devido a uma menor quantidade de solicitações HTTP geradas. Isso beneficiará todos os usuários da plataforma de hospedagem (hospedagem gratuita, hospedagem compartilhada, VPS)
  • A ativação do Keep-Alive fornece HTTP pipelining (entrega de solicitações através da mesma conexão TCP)
  • As solicitações HTTPS precisam de mais tempo e recursos de CPU. Keep-Alive irá beneficiar grandemente o seu site se você usar HTTPS e SSL.
  • Latência reduzida e aumento geral da velocidade e desempenho de carregamento.
  • O Keep-Alive é suportado por todos os navegadores modernos
  • Habilitar o Keep-Alive também beneficiará seu site em termos de SEO e classificação devido ao melhor desempenho do site.

Resumindo, Keep-Alive é uma ótima maneira de reduzir o uso de recursos e aumentar a velocidade do seu site ao mesmo tempo.

O que você precisa?

Antes de começar este guia, você precisará do seguinte:

  • Acesso ao arquivo .htaccess;
  • Acesso ao httpd.conf (opcional);
  • Acesso ao HttpCoreModule (opcional).

Passo 1 – Analisando seu site

Em primeiro lugar, você deve analisar um site com uma ferramenta como o GTMetrix para determinar se o Keep-Alive está ativado ou desativado no servidor. Aqui estão os resultados após a análise de uma página de teste:

gtmetrix scan keep alive 0

Em alguns servidores ou provedores de hospedagem, o Keep-Alive é ativado por padrão. Se a sua análise dá uma pontuação de 100%, não há nada mais que precisa ser feito.

Passo 2 – Ativando o Keep-Alive

Existem várias maneiras de ativar o Keep-Alive e tudo depende do seu servidor ou provedor de hospedagem.

Aqui estão algumas opções:

Opção 1 – Edição do arquivo .htaccess

Para ativar o Keep-Alive, adicione o seguinte código ao seu arquivo .htaccess. Ativar o Keep-Alive usando .htaccess substituirá quaisquer configurações do servidor e ativará a conexão.

<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>

Esse método deve funcionar na maioria dos provedores de hospedagem compartilhada do Linux. Caso você não saiba onde encontrar o .htaccess, dê uma olhada neste tutorial.

Opção 2 – Ativando o Keep-Alive no Apache via arquivo httpd.conf

Se você tiver acesso ao arquivo de configuração do Apache, poderá habilitar a extensão de lá. Aqui está a aparência da configuração:

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 50

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 10
  • A seção KeepAlive On habilita a extensão.
  • MaxKeepAliveRequests define o número máximo de solicitações permitidas para uma única conexão. 50 pedidos para uma conexão é uma ótima maneira de começar.
  • A seção KeepAliveTimeout especifica quanto tempo o servidor espera por novas solicitações de um cliente. Recomenda-se começar com um valor menor como 5 ou 10 segundos e aumentá-lo mais tarde, se necessário. Configurando este valor muito alto pode causar alta carga do servidor.

Se você não conseguir localizar o arquivo httpd.conf, execute o seguinte comando na linha de comando:

find / -name httpd.conf

Opção 3 – Ativando o Keep-Alive no NGINX

O Keep-Alive é ativado por padrão no NGINX, no entanto, em alguns casos, ele pode ser desativado. Você pode ativá-lo usando HttpCoreModule. Procure o valor keepalive_disable, que é em muitos casos a razão pela qual Keep-Alive não está funcionando. Antes de ativá-lo, certifique-se de saber o motivo pelo qual ele foi desativado em primeiro lugar antes de tentar qualquer alteração.

Opção 4 – Windows Server (IIS)

Se estiver a utilizar um servidor baseado no Windows, pode facilmente activar a extensão Keep-Alive utilizando a linha de comandos.

O seguinte comando o habilitará:

appcmd set config /section:httpProtocol /allowKeepAlive:true

E se você deseja desativá-lo, use:

appcmd set config /section:httpProtocol /allowKeepAlive:false

Você também pode consultar o tutorial oficial da Microsoft para algumas opções extras.

Passo 3 – Testando as alterações

Depois que o Keep-Alive estiver totalmente habilitado, execute outra verificação com o GTMetrix ou qualquer outra ferramenta de análise de desempenho do site para ver se tudo está funcionando. Aqui estão os resultados após o Keep-Alive ter sido ativado:

gtmetrix scan keep alive 1

Também é possível verificar se o Keep-Alive está funcionando verificando seu cabeçalho HTTP. Isso pode ser feito via terminal usando o seguinte comando:

curl -I http://example.com/example.php

Aqui está um exemplo:

curl -i http://hostinger.com/index.php

Os resultados são:

HTTP/1.1 301 Moved Permanently
Connection: keep-alive
Server: nginx
Date: Fri, 23 Dec 2016 18:58:14 GMT
Content-Type: text/html
Content-Length: 178
Location: https://www.hostinger.com/index.php

A conexão: A parte Keep-Alive significa que Keep-Alive está funcionando.

Conclusão

Resumindo, ativar o Keep-Alive é uma ótima maneira de melhorar a velocidade e o desempenho do seu site. A conexão TCP persistente garantirá tempos de carga mais rápidos e maior eficiência, mantendo seus visitantes satisfeitos.

Se você deseja melhorar ainda mais seu site, esses artigos também ajudarão:

Melhorando o desempenho do site: Aproveitando o cache do navegador

Melhorando o desempenho do site: Compressão Gzip

Melhorando o desempenho do site: Servidor de imagens em escala

Melhorando o desempenho do site: Minificando CSS, HTML e JavaScript

Melhorando o desempenho do site: Usando imagens Progressivas JPEG

Rafael H.

Jornalista e estudante de economia, Rafael H faz parte da equipe de marketing da Hostinger desde 2017. Atualmente trabalha com crescimento e aquisição da empresa focado na aquisição de novos afiliados. Se apaixonou pelo mundo da tecnologia e hospedagem de sites, tendo experiência com WordPress, marketing digital e ferramentas de automação de marketing. Também já trabalhou como analista de conteúdo, redator, assessor de imprensa e analista de comunicação.

4 Comentários

Deixe seu comentário!

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  • Olá, no caso de instalar o código via .htaccess esse deve ser colocado no início do bloco de notas? antes de tudo? Minha hospedagem é na Locaweb. Depois que segui os procedimentos ainda nas páginas que testam velocidade de carregamento não mostra que o Keep Alive foi ativado. Demora mesmo? Grato, desde já e parabéns pelo artigo.

    • Oi, Daniel.

      Tudo bem?
      Respondendo a sua pergunta, sim, o código informado deve ser colocado no início do arquivo. O ideal é verificar com seu provedor de hospedagem sobre suas configurações e saber se o servidor atual permite a utilização desta função. Recomendamos entrar em contato com o suporte do seu provedor para confirmar que esta funcionalidade esteja habilitada no seu servidor, e eles vão poder identificar quaisquer erros ou conflitos.

      Espero ter ajudado! 😉

      • Oi Ariane, na verdade, o meu servidor é compartilhado e já os contatei para saber sobre a ativação do keep alive, porém disseram que esse recurso não está disponível no plano que tenho. Mas cheguei a ficar animado quando li em seu artigo que: “Ativar o Keep-Alive usando .htaccess substituirá quaisquer configurações do servidor e ativará a conexão.”. A Locaweb me ofereceu uma hospedagem Cloud que “em tese” eu teria essa ativação, mas entrando no detalhe com eles, eles não souberam explicar ao certo se eu teria mesmo esse recurso, pelo desconhecimento.

        • Oi, Daniel

          Realmente não se aplica neste seu caso 🙁
          Mas se te interessar, a função keep_alive é habilitada por padrão nos nossos servidores, e podemos auxiliá-lo caso tenha dificuldades em nosso painel.

          😉

Comece a Economizar Agora!

Hospedagem com tudo incluso e nome de domínio
R$2
29
/mês*

Cadastre-se

Receba nossos conteúdos e novidades direto no seu e-mail!

 

Estamos cadastrando...

Pronto! Obrigado por se inscrever!