Melhorando o desempenho do site – Ativando o Keep-Alive

Melhorando o desempenho do site – Ativando 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.

Como Funciona o Keep-Alive

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.

Author
O autor

Rafael H.

Trabalho com marketing digital desde 2017. Atualmente sou Country Manager do Brasil na Hostinger. Sou apaixonado pelo mundo da tecnologia e hospedagem de sites, tendo experiência com WordPress, marketing digital, SEO, copywriting e ferramentas de automação de marketing. Também já trabalhei como analista de conteúdo, redator, assessor de imprensa e analista de comunicação.