Tiempo de bloqueo total (TBT)

El tiempo de bloqueo total (TBT) es una métrica de lab importante para medir la capacidad de respuesta de la carga. Mide el tiempo total después de la First Contentful Paint (FCP) en el que se bloqueó el subproceso principal el tiempo suficiente para evitar respuestas a las entradas del usuario. Una TBT baja garantiza que la página sea fácil de usar.

De forma predeterminada, Lighthouse deja de supervisar la TBT después del tiempo de carga de página (TTI), al igual que otras herramientas de lab que miden la carga de la página. Para obtener más información, consulta ¿Cómo se relaciona la TBT con la TTI?.

El subproceso principal se considera "bloqueado" cada vez que hay una tarea larga, es decir, una tarea que se ejecuta en el subproceso principal durante más de 50 milisegundos (ms). Decimos que el subproceso principal está “bloqueado” porque el navegador no puede interrumpir una tarea en curso. Si un usuario intenta interactuar con la página durante una tarea larga, el navegador debe esperar a que esta finalice para poder responder.

Si la tarea del subproceso principal está bloqueada durante más de 50 ms, es probable que el usuario note la demora y perciba la página como lenta o dañada.

El tiempo de bloqueo de una tarea larga determinada es su duración superior a 50 ms. El tiempo de bloqueo total de una página es la suma del tiempo de bloqueo de cada tarea larga que ocurre después de FCP para el período medido (por lo general, TTI para las herramientas de carga de páginas o el tiempo de seguimiento total para otras herramientas).

Por ejemplo, considera el siguiente diagrama del subproceso principal del navegador durante la carga de la página:

Un cronograma de tareas en el subproceso principal
Un cronograma de las tareas del subproceso principal.

Este cronograma tiene cinco tareas, tres de las cuales son tareas largas porque su duración supera los 50 ms. En el siguiente diagrama, se muestra el tiempo de bloqueo de cada una de ellas:

Un cronograma de tareas en el subproceso principal que muestra el tiempo de bloqueo
Las mismas tareas, con horarios de bloqueo marcados

El tiempo total dedicado a la ejecución de tareas en el subproceso principal es de 560 ms, y 345 ms de ese tiempo se consideran tiempo de bloqueo.

Duración de la tarea Tiempo de bloqueo de la tarea
Tarea uno 250 ms 200 ms
Tarea dos 90 ms 40 ms
Tarea tres 35 ms 0 ms
Tarea cuatro 30 ms 0 ms
Tarea cinco 155 ms 105 ms
Tiempo de bloqueo total 345 ms

¿Cómo se relaciona la TBT con la TTI?

La TBT se mide durante un período. En el caso de algunas herramientas de lab que suelen medir las cargas de páginas, incluida Lighthouse, se midió la TBT hasta la TTI, ya que eso ayuda a cuantificar la gravedad de la no interacción de una página antes de volverse interactiva de manera confiable. Sin embargo, puedes seguir midiendo TBT más allá de TTI, por ejemplo, en el modo de período de Lighthouse.

TTI considera que una página es "confiable interactiva" si el subproceso principal no tuvo tareas largas durante al menos cinco segundos. Esto significa que tres tareas de 51 ms distribuidas en 10 segundos pueden retrasar el TTI hasta una sola tarea de 10 segundos.

Sin embargo, estas dos situaciones son muy diferentes para un usuario que intenta interactuar con la página. Tres tareas de 51 ms tienen una TBT de 3 ms, mientras que una sola de 10 segundos tiene una TBT de 9,950 ms, lo que crea una experiencia del usuario mucho peor.

Debido a que la TBT representa los valores atípicos con mayor exactitud, suele ser una métrica más útil que la TTI, incluso cuando la medición de la TBT se detiene en la TTI.

Medir TBT

La TBT es una métrica que se debe medir en el lab. La mejor manera de medir la TBT es ejecutar una auditoría de rendimiento de Lighthouse en tu sitio. Consulta la documentación de Lighthouse sobre TBT para obtener detalles de uso.

Herramientas del lab

¿Qué es una buena puntuación TBT?

Para brindar una buena experiencia del usuario, los sitios deben tener un TBT de menos de 200 milisegundos cuando se prueban en hardware móvil, en promedio.

Para obtener más información sobre cómo la TBT de tu página afecta la puntuación de rendimiento de Lighthouse, consulta Cómo Lighthouse determina tu puntuación de TBT.

Mejorar TBT

Para aprender a mejorar la TBT para un sitio específico, ejecuta una auditoría de rendimiento de Lighthouse y presta atención a cualquier oportunidad específica que sugiera la auditoría.

Si quieres obtener información para mejorar la TBT en general (para cualquier sitio), consulta las siguientes guías de rendimiento: