Tiempo de bloqueo total (TBT)

¿Qué es la TBT?

La métrica Tiempo de bloqueo total (TBT) mide la cantidad de tiempo total después del Primer procesamiento de imagen con contenido (FCP) en el que se bloqueó el subproceso principal durante el tiempo suficiente para evitar la capacidad de respuesta de la entrada.

De forma predeterminada, Lighthouse deja de supervisar la TBT después del tiempo de carga (TTI), al igual que otras herramientas de lab que miden la carga de la página. 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. Por lo tanto, en el caso de que un usuario interactúe con la página en medio de una tarea larga, el navegador deberá esperar a que se complete la tarea para poder responder.

Si la tarea es lo suficientemente larga (más de 50 ms), es probable que el usuario note la demora y perciba la página como lenta o bloqueada.

El tiempo de bloqueo de una tarea larga determinada es su duración superior a 50 ms. Y el tiempo de bloqueo total de una página es la suma del tiempo de bloqueo de cada tarea larga que se produce después del FCP del período medido (por lo general, TTI para las herramientas de carga de páginas o el tiempo de seguimiento total de 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

El cronograma anterior 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

Por lo tanto, si bien el tiempo total dedicado a ejecutar tareas en el subproceso principal es de 560 ms, solo 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 tradicionalmente miden las cargas de páginas, como Lighthouse, la TBT se midió hasta la TTI porque ayuda a cuantificar la gravedad de qué tan no interactiva es una página antes de volverse interactiva de manera confiable. Sin embargo, la TBT también se podría seguir midiendo después de la carga de la página y 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, pero esas dos situaciones serían muy diferentes para un usuario que intente interactuar con la página.

En el primer caso, tres tareas de 51 ms tendrían una TBT de 3 ms, mientras que una sola tarea de 10 segundos tendría una TBT de 9,950 ms. En el segundo caso, el valor de TBT más alto cuantifica la peor experiencia.

Este ejemplo muestra por qué TBT suele ser una mejor métrica que TTI, ya que es menos propenso a valores atípicos. Esto es incluso el caso cuando se usa TTI como el endpoint de la TBT.

Cómo medir la TBT

La TBT es una métrica que debe medirse en el lab. La mejor manera de medir la TBT es realizar 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 esforzarse por tener un tiempo de bloqueo total inferior a 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.

Cómo mejorar la TBT

Para obtener información sobre cómo mejorar la TBT para un sitio específico, puedes ejecutar una auditoría de rendimiento de Lighthouse y prestar atención a las oportunidades específicas 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: