Performance
Diagnóstico de TTFB: isolando causas e o impacto na performance
Descubra como diagnosticar gargalos de DNS, rotas e backend no Time to First Byte e entenda seu efeito real no Core Web Vitals (LCP).
Leitura executiva
Principais conclusões
- TTFB não é uma métrica Core Web Vitals, mas é o limite inferior do LCP.
- Para diagnosticar TTFB, você precisa separar o tempo de rede do tempo de backend.
- Dados de campo mostram a realidade da latência do usuário; dados de laboratório ajudam no diagnóstico técnico.
Resolver um Time to First Byte (TTFB) lento raramente é uma questão de apenas atualizar a infraestrutura. A decisão técnica exige saber exatamente onde os milissegundos estão sendo perdidos antes de refatorar código ou trocar de provedor.
Em termos simples, o TTFB é o tempo que o navegador espera para receber o primeiro byte de resposta após solicitar uma URL. Ele reflete o custo de descobrir onde o servidor está, estabelecer uma conexão segura e aguardar o sistema processar a página.
Este guia investiga as causas do atraso e como dividi-las para ação. Baseamo-nos nas especificações de rede do Chrome, em métricas do Chrome User Experience Report (CrUX) e na separação de tempos do painel de rede dos navegadores.
Qual o impacto do TTFB no Core Web Vitals?
O TTFB não faz parte do grupo principal do Core Web Vitals, mas é um precursor obrigatório do Largest Contentful Paint (LCP).
Se o seu TTFB é de 1.5 segundos, o seu LCP jamais será menor que isso, independentemente de quão otimizado seja o seu CSS ou as suas imagens. O tempo que o navegador gasta esperando pelo HTML é tempo em que não pode baixar folhas de estilo, descobrir fontes ou processar a árvore do documento. Reduzir o TTFB é a forma mais garantida de baixar o "piso" do seu LCP.
Como isolar as causas de um TTFB lento?
O maior erro ao debugar o TTFB é tratá-lo como uma métrica única do servidor. Ele é, na verdade, a soma de quatro etapas distintas. Para diagnosticar o problema, você deve analisar a cascata de rede em ferramentas como o painel Network do Chrome DevTools ou o WebPageTest.
1. Resolução DNS e Redirecionamentos
Antes de falar com o servidor, o navegador precisa traduzir o domínio em um endereço IP. Se a sua configuração de DNS for lenta, ou se houver múltiplos redirecionamentos HTTP (ex: http:// para https://www para https://), a latência se acumula antes mesmo da conexão real iniciar.
- Evidência: Tempos altos de "DNS Lookup" ou respostas
301/302constantes. - Ação: Mude para um provedor DNS mais rápido, use HSTS e evite correntes de redirecionamento.
2. Conexão TCP e Negociação TLS
Uma conexão segura exige viagens de ida e volta (round trips) entre o cliente e o servidor. Se o servidor estiver fisicamente distante do usuário, a latência de rede aumenta exponencialmente.
- Evidência: Altos valores em "Initial connection" e "SSL".
- Ação: Use uma Content Delivery Network (CDN) para terminar a conexão TLS fisicamente mais próxima do usuário. Implemente HTTP/2 ou HTTP/3 para reaproveitamento de conexões.
3. Roteamento e CDN (Cache)
Se a página é estática e passa por uma CDN, o tempo deveria ser mínimo. Se o TTFB estiver alto aqui, pode indicar que a CDN está falhando em entregar o cache (cache miss) e roteando a requisição para a origem.
- Evidência: Cabeçalhos HTTP como
x-cache: MISSou tempos altos de "Waiting (TTFB)" em ativos estáticos. - Ação: Verifique suas regras de Cache-Control e Edge Caching.
4. Processamento no Servidor (Backend/Banco de dados)
Para páginas dinâmicas ou não cacheadas, o tempo de "Waiting" revela quanto tempo o servidor demorou para consultar o banco de dados, renderizar o template (SSR) e devolver a resposta.
- Evidência: Tempos de "Waiting" severos mesmo com conexão e DNS rápidos em páginas que consultam banco de dados.
- Ação: Investigue consultas N+1, falta de índices no banco, adicione caching de aplicação (ex: Redis) e profile a execução do lado do servidor.
Limitações de diagnóstico: campo vs. laboratório
O TTFB varia imensamente dependendo da qualidade da conexão do usuário. Um teste de laboratório com rede de fibra óptica apontará um TTFB rápido, ocultando latências que usuários reais de redes 3G ou 4G oscilantes (dados de campo) enfrentam.
Falso positivo: Focar num TTFB quase zero sacrificando a arquitetura da página. Em SPAs (Single Page Applications) sem SSR, o HTML chega rápido (TTFB excelente), mas a página fica em branco até o JavaScript carregar e executar, penalizando severamente o LCP.
Plano de ação para a sua equipe
- Acesse dados reais: Olhe o CrUX (via PageSpeed Insights ou Remountly) para saber a distribuição real do TTFB. O alvo aceitável é abaixo de 800ms em campo (embora < 200ms seja o ideal).
- Isole na aba Network: Faça uma requisição com cache desabilitado e anote os tempos de DNS, TCP/SSL e Waiting.
- Corte a latência óbvia: Ative uma CDN e corrija redirecionamentos redundantes.
- Otimize o gerador: Se o gargalo for no backend, use um APM (Application Performance Monitoring) para achar a query de banco lenta.
- Verifique: Libere a correção e acompanhe os dados de campo após 28 dias.
Use ferramentas dedicadas para monitorar a evolução das suas métricas continuamente. O Remountly pode ajudar a isolar latências de campo e validar correções de performance na prática.
Respostas diretas
Perguntas frequentes
O que é TTFB (Time to First Byte)?
É o tempo desde o início da navegação do usuário até a recepção do primeiro byte da resposta do servidor pelo navegador.
Um TTFB rápido garante um site rápido?
Não necessariamente. Um TTFB rápido é necessário para um carregamento rápido, mas se a página tiver muito JavaScript bloqueando a renderização (Render-Blocking Resources), a experiência do usuário ainda será lenta.