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.
Conteúdo
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:
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:
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:
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.
Melhore Ainda Mais o seu Site
Melhorando o desempenho do site: Aproveitando o cache do navegador
Melhorando o desempenho do site: Compressão Gzip
Como otimizar imagens para o WordPress
Melhorando o desempenho do site: Minificando CSS, HTML e JavaScript
Melhorando o desempenho do site: Usando imagens Progressivas JPEG
Comentários
August 17 2018
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.
August 17 2018
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! ;)
August 20 2018
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.
August 20 2018
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. ;)