Quando se trata da velocidade geral do seu site, muitas vezes nos concentramos no desempenho de front-end e nas otimizações para melhorar as velocidades de carregamento da página.
No entanto, às vezes é bom analisá-la do lado do servidor, onde seu site originalmente começa a ser carregado.
Hoje vamos nos aprofundar em como o TTFB (tempo para o primeiro byte) afeta você e discutir algumas maneiras fáceis de como reduzi-la. O TTFB é normalmente um fator de desempenho negligenciado, mas deve ser levado em consideração ao testar a velocidade do seu site.
O que é o TTFB?
TTFB significa tempo para o primeiro byte. Simplificando, esta é uma medida de quanto tempo o navegador deve aguardar antes de receber seu primeiro byte de dados do servidor. Quanto mais tempo demora para obter esses dados, mais tempo leva para exibir sua página. Um equívoco comum é que isso é calculado após os tempos de pesquisa de DNS, no entanto, o cálculo original do TTFB na rede sempre inclui a latência da rede. Isso envolve um processo de 3 etapas e atrasos e latência podem ocorrer em qualquer ponto, somando-se ao TTFB total.
1. Pedido para o servidor
Quando alguém visita seu site, a primeira coisa que acontece é que uma solicitação HTTP é enviada do cliente (navegador) para o servidor. Nesta etapa, há vários fatores que podem introduzir atrasos. Os tempos de pesquisa de DNS lentos podem contribuir para aumentar o tempo da solicitação. Se o servidor estiver localizado geograficamente longe, isso poderá introduzir latência na distância que os dados precisam percorrer. Além disso, se você tiver regras de firewall complexas, isso poderá aumentar o tempo de roteamento. E não esqueça a velocidade da internet do cliente.
2. Processamento de servidores
Após o envio da solicitação, o servidor agora precisa processá-la e gerar uma resposta. Isso poderia introduzir vários atrasos diferentes, como chamadas de banco de dados lentas, muitos scripts de terceiros, não armazenar em cache sua primeira resposta, códigos mal otimizados ou tema e recursos ineficientes do servidor, como E/S de disco ou memória.
3. Resposta ao cliente
Depois que o servidor processa a solicitação, ele deve enviár de volta ao cliente (ou, em vez disso, enviar de volta o primeiro byte). Isso é fortemente afetado pela velocidade da rede do servidor e do cliente. Se o cliente tiver internet lenta a partir de um hotspot Wi-Fi, ele será refletido no TTFB.
O TTFB é importante?
É importante entender que o TTFB (tempo até o primeiro byte) não é igual à velocidade do site. Esta é realmente uma medida de capacidade de resposta. Há muitas discussões em torno da web sobre se o TTFB é importante ou não. Alguns dizem que não tem sentido (Cloudflare, LittleBizzy), e outros dizem que é importante (Ilya Grigorik, engenheiro de desempenho da Web no Google). Os dois lados levantam alguns pontos válidos sobre o porquê ou por que isso não é importante e também algumas perguntas sobre como ele é realmente calculado.
A Moz até fez um estudo aprofundado sobre a correlação entre os rankeamentos de busca e o tempo até o primeiro byte. No entanto, é difícil saber se essa foi a causa ou se os sites com TTFB mais baixo também foram mais rápidos em geral, o que, por sua vez, pode ser afetado pelo fator de classificação de velocidade da página do Google..
No entanto, em vez de desperdiçar tempo se isso for importante ou não, preferiremos nos concentrar nas otimizações que você pode fazer para melhorar essa métrica. Tudo o que você faz pode contribuir para a velocidade geral do seu site, e isso afetará seu TTFB. Em nossos testes, sites com muito maior TTFB simplesmente carregam e se sentem mais lentos.
Geralmente, qualquer coisa abaixo de 100 ms significa um ótimo TTFB. O Google PageSpeed Insights recomenda menos de 200 ms para o tempo de resposta do servidor. Se você está na faixa de 300-500 ms, isso é bastante normal. E se você tiver mais de 600 ms, poderá ter algo configurado incorretamente em seu servidor ou talvez seja hora de atualizar para uma pilha da Web melhor. Ou siga nossas recomendações abaixo sobre como reduzir seu TTFB. E lembre-se que a negociação SSL/TLS também pode ser um fator.
Como medir seu TTFB
Há uma infinidade de maneiras diferentes de testar seu TTFB. Vamos explorar um casal abaixo. Mas lembre-se, cada ferramenta vai dar resultados ligeiramente diferentes, por isso é importante simplesmente usar um e ficar com ele para uma linha de base.
Medir o TTFB com o DevTools do Google Chrome
Você pode medir o TTFB no Google Chrome ao iniciar o DevTools. Lembre-se, se você estiver testando em seu computador que o TTFB é afetado pela latência da rede e sua conexão com a Internet. Portanto, é provavelmente mais eficaz usar a ferramenta de terceiros (como visto mais abaixo), que está sendo testada em um data center.
- Selecione Mais Ferramentas> Ferramentas do Desenvolvedor no Menu do Google Chrome.
- Clique com o botão direito do mouse em um elemento da página e selecione Inspecionar
- Use os atalhos de teclado Ctrl + Shift + I (Windows) ou Cmd + Opt + I (Mac)
Você pode iniciar a janela da rede e ver o desempenho do seu site.
Medir TTFB com a Ferramenta Geekflare
Geekflare tem uma incrível coleção de ferramentas gratuitas que você pode usar para testar e solucionar problemas em seu site. A ferramenta TTFB da Geekflare é simples, rápida e permite que você veja quão rápido (baixo) é o seu tempo para o primeiro byte a partir de três locais ao redor do mundo.
Medir o TTFB com o WebPageTest
Você também pode medir seu TTFB com o WebPageTest. De acordo com seu glossário, o tempo de destino é o tempo necessário para as negociações de DNS, soquete e SSL + 100 ms. Um único grau de letra será deduzido para cada 100 ms além do alvo. Como você pode ver em nosso teste abaixo, este site mediu em 0.256s ou 256 ms TTFB.
Medir o TTFB com Pingdom
O Chrome e o WebPageTest referem-se a ele como TTFB. No entanto, se você estiver usando o Pingdom , ele será chamado de tempo de espera. Certifique-se também de verificar o nosso guia detalhado sobre como usar o Pingdom.
Medir o TTFB com o GTmetrix
No GTmetrix, assim como com no Pingdom, o TTFB é chamado de tempo de espera. Certifique-se também de verificar o nosso guia detalhado sobre como usar o GTmetrix.
Medir o TTFB com a ferramenta do KeyCDN
O KeyCDN possui uma ótima ferramenta de teste de desempenho da web, na qual você pode medir seu TTFB de 19 locais diferentes simultaneamente. Como você pode ver abaixo em nosso teste, o TTFB é baixo nos Estados Unidos e muito maior no exterior. Isso ocorre porque nosso servidor está fisicamente localizado nos Estados Unidos. Isso é prova aqui mesmo que a latência e a distância são reproduzidas no TTFB.
Existem também algumas outras ferramentas para medir o TTFB, como o Sucuri Performance Tool e o ByteCheck. Você sabia? Até o Google Analytics tem uma seção para ver seu tempo médio de resposta. Basta clicar em “Comportamento> Velocidade do site> Visão geral”.
4 Maneiras de reduzir o TTFB no seu site
Agora vamos nos aprofundar em como reduzir o TTFB em seu site.
1. Utilizar uma hospedagem rápida
A primeira maneira de reduzir o TTFB é garantir que você esteja usando uma hospedagem rápida. Comparamos o TTFB de uma hospedagem compartilhada de terceiros (localizado em Phoenix, AZ) e o TTFB da Kinsta (localizado em Council Bluffs, Iowa). Utilizamos exatamente a mesma configuração com o padrão Twenty Seventeen executando o tema. Lembre-se de que a Kinsta agora tem todos os 37 locais da Google Cloud Platform disponíveis, por isso é importante posicionar estrategicamente seu site mais perto de seus visitantes.
Kinsta também inclui a rede de nível premium do Google Cloud Platform em todos os planos de hospedagem. Muitos outros provedores de hospedagem usam a rede de nível padrão do Google Cloud, o que resulta em velocidades mais lentas.
TTFB da hospedagem compartilhada
Em toda a regiões, o TTFB médio foi de 520 ms. Nos Estados Unidos e no Canadá, o TTFB médio foi de 240 ms.
TTFB da Kinsta
Em todas as regiões, o TTFB médio foi de 412 ms. Nos Estados Unidos e no Canadá, o TTFB médio foi de 164 ms. Se você hospeda com a Kinsta, você também pode optar por hospedar seu site na Europa ou na Ásia. Veja a lista de Locais do Google Cloud Data Center.
Então, simplesmente usando uma hospedagem mais rápida, vimos uma redução de 32% no TTFB global. E uma redução de 32% no TTFB nos Estados Unidos e no Canadá.
Ter uma boa hospedagem de aplicativos, hospedagem de banco de dados e hospedagem gerenciada de WordPress (como Kinsta), cuja arquitetura foi cuidadosamente pensada, é crucial para baixar o seu TTFB.
Isso também justifica a escolha cuidadosa de um local fisicamente localizado em uma região onde seus clientes estão. Se a maioria dos seus clientes estiver nos Estados Unidos, não hospede seu servidor na Europa (embora um CDN possa ajudar a negar isso).
2. Implementar uma CDN
Outra maneira fácil de diminuir o TTFB é utilizar uma Content Delivery Network (CDN). Se você tem um site que atende visitantes em diferentes partes do país ou em todo o mundo, isso pode diminuir drasticamente o seu TTFB. Como vimos acima, a localização é muito importante. Fizemos um pequeno teste para mostrar a diferença com o KeyCDN como nosso provedor de CDN. Cada teste foi executado 5 vezes e a média foi obtida..
TTFB sem CDN
Primeiro, fizemos um teste com nosso CDN desativado e como você pode ver, nosso tempo de carregamento total foi de 1,45 s e nosso TTFB médio em um ativo foi de aproximadamente 136 ms.
TTFB com CDN
Em seguida, ativamos nosso CDN e fizemos o teste novamente. Como você pode ver, nossos tempos totais de carregamento caíram para 788 ms e nosso TTFB médio agora é de 37 ms! Que diferença um CDN pode fazer. Outra coisa importante a notar é que escolhemos o local de Estocolmo para realizar este teste. Por quê? Porque queríamos mostrar a melhoria real que pode ser obtida diminuindo a distância física. Há um CDN POP localizado em Estocolmo, então nosso conteúdo está sendo servido em Estocolmo.
Nota: Se você estiver utilizando o Cloudflare, poderá ter um TTFB ligeiramente superior. Isso é mais provável devido à sobrecarga adicional e à complexidade de ter o serviço de proxy totalmente em execução. Lembre-se de que o Cloudflare possui firewalls adicionais e outros recursos que alguns provedores de CDN não possuem. Então, você precisaria decidir por si mesmo o que poderia lhe beneficiar mais. Se todo o seu site não estiver devidamente otimizado, valer a pena o TTFB um pouco mais alto pode valer a pena.
No entanto, talvez você também queira conferir o guia do WP Bullet sobre como usar o cache de páginas do Cloudflare para reduzir o TTFB. Isso pode exigir algumas configurações e testes adicionais. Certifique-se de executar seus próprios testes, pois cada ambiente é diferente.
3. Use o cache em seu site
Uma terceira maneira, e provavelmente uma das maneiras mais fáceis de diminuir seu TTFB é utilizar o cache em seu site. Muitos só pensam que o armazenamento em cache pode ajudar a diminuir os tempos de carregamento, mas, na verdade, também ajuda a diminuir o TTFB, já que ajuda a reduzir o tempo de processamento do servidor. Nós executamos alguns testes novamente com e sem o cache em execução. Cada teste foi executado 5 vezes e a média foi obtida.
Sem cache em execução
Rodamos o site através do Pingdom, e sem o cache rodando, nosso site teve um tempo de carregamento de 1,17 s e um TTFB de 560 ms.
Com o cache ativado
Em seguida, ativamos o armazenamento em cache e executamos o site por meio do Pingdom novamente. Desta vez, nosso site obteve um tempo de carregamento de 643 ms e um TTFB de 57 ms.
Assim, ao ativar o armazenamento em cache, conseguimos reduzir nosso TTFB em incríveis 90%! Você pode ler mais sobre o cache da Kinsta. Fazemos isso em nível de servidor, o que significa que nenhum plug-in de cache é necessário. Se você não estiver usando uma hospedagem gerenciada do WordPress, recomendamos usar um plug-in de armazenamento em cache gratuito como o Cache Enabler
4. Usar um provedor de DNS Premium
E por último, mas não menos importante, o DNS também desempenha um papel no TTFB. É difícil calcular exatamente o quanto isso é afetado, mas você ainda pode ver os tempos gerais de pesquisa de DNS e ver se há provedores mais rápidos e lentos por aí. Fizemos alguns testes com a ferramenta de teste de velocidade SolveDNS. Aqui está um exemplo de um domínio usando o Free NameCheap DNS e os tempos de resposta.
Free NameCheap DNS
E abaixo está um exemplo usando o DNS premium da Amazon Route 53. Como você pode ver, em geral, os tempos de pesquisa de DNS são muito mais rápidos com a Amazon. Normalmente, os provedores de DNS premium terão melhores velocidades. O Cloudflare é gratuito e também tem ótimo desempenho.
DNS da Amazon Route 53
Certifique-se de verificar o nosso post sobre por que você deve estar usando um provedor de DNS premium. Fizemos uma parceria com o Amazon Route 53 aqui na Kinsta e está disponível para todos os clientes gratuitamente.
Resumo
Há uma infinidade de outras coisas que você poderia otimizar ou corrigir para reduzir o TTFB, como cache de banco de dados, E/S de disco, uso de swap, RAM, configurações do PHP, configurações do MySQL, configurações de rede, sobrecarga de TLS, etc. Mas os mencionados acima são bastante fáceis para implementar e lhe dará o aumento de desempenho mais rápido. Então, da próxima vez que alguém lhe perguntar como reduzir seu TTFB, lembre-se de que ua hospedagem rápido, CDN, cache e DNS, todos desempenham um papel importante. Corrigir ou melhorar esses gargalos fará o truque.
Qual foi sua experiência com o TTFB? Nós gostaríamos de ouvir sobre isso abaixo.
Olá! Gosto muito de seus artigos, sempre com novidades para agradar as pessoas, parabéns.
Obrigado por nos ler. Fique atento!
Muito obrigado! Entrei com uma dúvida e sem nenhum conhecimento do assunto, mas agora entendi o problema e também tenho uma ideia de como resolver.
Nossa que materia excelente. Vou ler com calma depois e colocar em pratica
Muito bom, me ajudou muito!