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.
