Całkowity czas blokowania (TBT)

Co to jest TBT?

Łączny czas blokowania (TBT) to łączny czas po pierwszym wyrenderowaniu treści (FCP), w którym wątek główny był zablokowany na tyle długo, że nie pozwalało to na reagowanie na dane wejściowe.

Domyślnie Lighthouse przestaje monitorować TBT po Time to Interactive (TTI), podobnie jak kilka innych narzędzi laboratoryjnych do pomiaru wczytywania strony. Zobacz, jaki TBT jest związany z TTI?.

Wątek główny jest uznawany za „zablokowany” zawsze, gdy występuje zadanie długie, czyli zadanie uruchomione w wątku głównym przez ponad 50 milisekund (ms). Mówimy, że wątek główny jest „zablokowany”, ponieważ przeglądarka nie może przerwać trwającego zadania. Jeśli więc użytkownik wykona działanie na stronie w trakcie długiego zadania, przeglądarka musi poczekać na jego zakończenie, zanim będzie mogła odpowiedzieć.

Jeśli zadanie jest wystarczająco długie (powyżej 50 ms), użytkownik może zauważyć opóźnienie i określić, że strona jest powolna lub niestabilna.

Czas blokowania danego długiego zadania to czas jego trwania przekraczający 50 ms. Całkowity czas blokowania strony to suma czasu blokowania każdego długiego zadania, które następuje po FCP w wyznaczonym przedziale czasu (zwykle TTI w przypadku narzędzi do wczytywania strony lub łączny czas śledzenia w przypadku innych narzędzi).

Spójrzmy na przykład na tym diagramie głównego wątku przeglądarki podczas wczytywania strony:

Oś czasu zadań w wątku głównym

Powyższy oś czasu ma 5 zadań, z których trzy są długimi zadaniami, bo ich czas trwania przekracza 50 ms. Następny diagram przedstawia czas blokowania każdego z długich zadań:

Oś czasu zadań w wątku głównym z widocznym czasem zablokowania

Chociaż łączny czas wykonywania zadań w wątku głównym wynosi 560 ms, tylko 345 ms z tego czasu uznaje się za czas blokowania.

Czas trwania zadania Czas zablokowania zadania
Zadanie pierwsze 250 ms 200 ms
Zadanie 2 90 ms 40 ms
Zadanie 3 35 ms 0 ms
Zadanie 4 30 ms 0 ms
Zadanie piąte 155 ms 105 ms
Całkowity czas blokowania 345 ms

Jaki związek ma TBT z TI?

Wartość TBT jest mierzona w danym okresie. W przypadku niektórych narzędzi laboratoryjnych, które tradycyjnie mierzą wczytanie strony, w tym narzędzia Lighthouse, do czasu TTI mierzono wartość TBT, ponieważ ta funkcja pomaga określić, jak bardzo nieinteraktywna jest strona, zanim staje się niezawodna interaktywna. Wartość TBT może być jednak nadal mierzona po wczytaniu strony i poza nią, na przykład w trybie Lighthouse w zakresie czasu.

TTI uznaje stronę za „niezawodnie interaktywną”, jeśli w wątku głównym przez co najmniej 5 sekund nie było żadnych długich zadań. Oznacza to, że 3 zadania o długości 51 ms rozłożone w ciągu 10 sekund mogą odbić się od zamiany tekstu na mowę nawet w 10-sekundowym zadaniu, ale te 2 scenariusze będą wyglądały zupełnie inaczej w przypadku użytkownika próbującego wejść w interakcję ze stroną.

W pierwszym przypadku trzy zadania o długości 51 ms będą miały czas TBT wynoszący 3 ms. Z kolei pojedyncze 10-sekundowe zadania będą miały TBT na 9950 ms. Większa wartość TBT w drugim przypadku oznacza pogorszenie wrażeń.

Ten przykład pokazuje, dlaczego TBT jest często lepszym wskaźnikiem niż TTI, ponieważ jest mniej podatny na odchylenia. Dzieje się tak nawet wtedy, gdy punkt końcowy TBT jest używany przez TTI.

Jak mierzyć wartość TBT

TBT to wskaźnik, który należy zmierzyć w tym module. Najlepszym sposobem pomiaru TBT jest przeprowadzenie w witrynie kontroli wydajności Lighthouse. Szczegóły wykorzystania znajdziesz w dokumentacji Lighthouse na temat TBT.

Narzędzia laboratoryjne

Jaki jest dobry wynik do ustalenia?

Aby zadbać o wygodę użytkowników, czas testowania witryn na przeciętnym sprzęcie mobilnym powinien być krótszy niż 200 milisekund.

Szczegółowe informacje o tym, jak TBT strony wpływa na wynik wydajności w Lighthouse, znajdziesz w tym artykule.

Jak poprawić TBT

Aby dowiedzieć się, jak ulepszyć TBT w przypadku określonej witryny, przeprowadź kontrolę wydajności w Lighthouse i zwróć uwagę na konkretne możliwości sugerowane w aukcji.

Aby dowiedzieć się, jak ogólnie poprawić TBT (w dowolnej witrynie), zapoznaj się z tymi przewodnikami po wydajności: