TTFB – Time To First Byte: o que é, como testar e qual é o ideal

Analisar e reduzir o tempo do TTFB do seu site é um processo avançado para o ganho de performance. Conheça o tempo ideal e as causas do problema.

TTFB - Time To First Byte

TTFB ou Time To First Byte é um termo que se discute quando o assunto sobre performance está avançado.

É algo que está relacionado ao servidor, no back-end do projeto. Como 80% dos gargalos de performance estão no front-end, o termo acaba sendo pouco discutido.

Mas quando avançamos com o básico e o intermediário, entramos nas tratativas sobre segundos e os detalhes que podemos fazer para deixar o site ainda rápido e, por conseguinte, ganhar maior relevância para o usuário e os mecanismos de busca.

O esforço nessa área é grande e resultará em 20% das possibilidades de ganho de performance que você poderá ter. Portanto, não deve ser seu primeiro passo, tampouco tratativas sobre o assunto.

Afinal, o que é TTFB?

TTFB - Time To First Byte
Fonte: keycdn.com

O termo é um acrônico de Time To First Byte. Ou seja, o tempo que o servidor demora para entregar o primeiro byte do seu site ao navegador de internet. O tempo é medido em milissegundos.

O envio do TTFB acontece a cada requisição realizada entrega esses dois agentes. O servidor web, que está no servidor que hospedada o seu site; e o navegador de internet que o usuário está utilizando para a navegação.

O Time To First Byte é feito através da realização de três componentes, são eles:

  1. O tempo necessário para o envio da requisição HTTP;
  2. O tempo necessário para o servidor processar a requisição;
  3. O tempo necessário para o servidor enviar ao navegador o primeiro byte como resposta.

Em linhas gerais, o browser requisita a página xpto.php ao servidor. Ele processa essa requisição -aqui podem acontecer inúmeras coisas como consultas ao banco de dados, fontes externas e por aí vai. O servidor responde ao navegador com os primeiros bytes do código HTML a ser renderizado.

O Time To First Byte ideal

Como eu havia dito, o tempo é medido em milissegundos (ms).

O ideal é um tempo até 200ms. Qualquer número abaixo de 100ms é espetacularmente ótimo. Algo entre 200 – 500ms é o padrão. Uma faixa entre 500ms e 1s é menor que o ideal e qualquer coisa acima de 1s precisa ser investigado a fundo.

Como testar seu TTFB

O PageSpeed Insights quando detecta um tempo alto ele o alerta a respeito. A WebPagetest e Web Performance Test URL Speed são outras boas ferramentas para consulta.

O que prejudica o TTFB do seu site

Não há uma única resposta e, sim, uma série de análises e investigação para encontrar causa e em seguida atuar para a resolução.

Mas podemos considerar três aspectos como ponto focais de análise. A localização do datacenter, o servidor e os códigos.

Se os códigos estiverem mal estruturados, consumindo muito processamento e realizando consultas lentas ao banco de dados, vai consumir tempo e, consequentemente, demorar na entrega do primeiro byte.

Se o servidor estiver sobrecarregado com alto uso de CPU, pouca memória disponível e gargalos na escrita e leitura do disco vai resultar em longos tempos para realizar as operações necessárias pelos códigos e demorar na entrega do primeiro byte.

A localização do datacenter também impacta, mas não tanto quanto o servidor e códigos. Uma solução rápida para resolver essa questão é implementar e estruturar uma CDN para a entrega dos arquivos ao usuário através de um servidor mais próximo da sua localização.

Conclusão

Foque em reduzir o tempo do TTFB somente após resolver os principais problemas de performance, que estão no front-end. Os esforços para reduzir o Time To First Byte é longo e não deve ser o primeiro ponto focal para o ganho de velocidade.

É importante um TTFB abaixo, uma vez que a partir do momento que o navegador de internet recebe a marcação HTML ele terá noção de quais demais arquivos requisitar para download e sabemos que uma página é composta de dezenas, cada um com seu respectivo tamanho.