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?
O termo TTFB é 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:
- O tempo necessário para o envio da requisição HTTP;
- O tempo necessário para o servidor processar a requisição;
- 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.