Time to First Byte (TTFB)

Time to First Byte é o tempo entre o início da navegação e o momento em que o navegador recebe o primeiro byte da resposta. Ele reflete o trabalho da rede, da conexão, dos redirecionamentos, do cache e do servidor.

O que inclui o tempo de espera

O Time to First Byte (TTFB) mede quanto tempo um cliente espera pelo início de uma resposta HTTP. Em uma navegação no navegador, o intervalo medido pode incluir redirecionamentos, consulta DNS, configuração da conexão e do TLS, latência de rede, tratamento de cache e processamento no servidor.

Por isso, um TTFB alto não aponta para uma causa única. Uma resposta em cache, próxima, e uma requisição distante que chega à aplicação podem seguir caminhos diferentes, mesmo com a mesma URL.

A requisição e o primeiro byte da resposta fazem parte da espera. A temporização da navegação também pode incluir a configuração da conexão.

Localize o atraso

Comece pela requisição do documento na cascata do navegador. Verifique os redirecionamentos e a configuração da conexão antes de atribuir o tempo restante à aplicação. Quando houver timing do servidor ou logs disponíveis, compare-os com o que o navegador mediu.

Repita a requisição a partir do mesmo local e registre se foi um acerto de cache, uma falha de cache ou uma requisição autenticada. Compare casos equivalentes: um cache aquecido não deve ser apresentado como melhoria da aplicação em relação a uma requisição anterior sem cache.

Altere a camada responsável

Uma cadeia de redirecionamentos pede um caminho mais curto. Trabalho repetido no backend pode pedir cache ou mudanças na aplicação. Atraso de conexão exige outra investigação. Teste a causa suspeita e depois compare as mesmas condições da requisição.

O TTFB termina antes de a página terminar de carregar. Imagens, estilos e JavaScript ainda podem atrasar o conteúdo útil ou a interação depois que a resposta começa, então analise essas etapas separadamente.

FAQ

O TTFB mede só o processamento do servidor?
Não. O TTFB observado pelo navegador pode incluir redirecionamentos, configuração da conexão, latência de rede, comportamento do cache e trabalho do servidor.
Por que testar requisições com e sem cache?
O cache pode mudar bastante o caminho da resposta. Registre o estado do cache para que as medições sejam comparáveis.