El tiempo hasta el primer byte es lo que va desde que se pregunta hasta que llega el primer byte de la respuesta. Contiene el DNS, la conexión, el saludo y el servidor pensando, y curl imprime cada parte por separado, de modo que usted ve cuál es.

curl -o /dev/null -s -w 'dns  %{time_namelookup}\nconnect %{time_connect}\ntls  %{time_appconnect}\nttfb %{time_starttransfer}\ntotal %{time_total}\n' https://yourdomain.com/

Cómo leerlo

  • dns grande: un resolutor lento, o un TTL muy bajo que obliga a resolver cada vez.
  • connect grande: la distancia. Un servidor en otro continente no se arregla con código.
  • tls menos connect grande: el saludo. Una cadena de certificados incompleta obliga al navegador a ir a buscar la parte que falta.
  • ttfb menos tls grande: el servidor construyendo la página. Esta es la parte que usted puede arreglar.

Qué se considera bueno

  • Por debajo de 200 ms: el servidor no es su problema. Mire el navegador.
  • 200-500 ms: normal para una página dinámica sin caché.
  • Por encima de 800 ms: algo concreto va lento, y merece más encontrarlo que taparlo con caché.
Mida la misma URL varias veces. La primera petición tras un despliegue va lenta por razones que nunca afectarán a un visitante -cachés frías, opcache vacío- y una sola medición de eso no le dice nada.

Mida desde donde están sus visitantes

Un TTFB medido desde el propio servidor deja fuera la red por completo y siempre sale excelente. Tampoco es lo que vive nadie.

Si el TTFB está bien y la página sigue notándose lenta, deje de optimizar el servidor. El tiempo está en el navegador y ninguna cantidad de caché lo va a cambiar.