Całkowity czas blokowania (TBT)

Co to jest TBT?

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

Domyślnie Lighthouse zatrzymuje monitorowanie po upływie Czasu do interakcji (TTI), podobnie jak niektóre inne narzędzia laboratoryjne, które mierzą wczytywanie strony. Zapoznaj się z sekcją Połączenie TBT z TTI.

Wątek główny jest uważany za „zablokowany”, gdy w wątku głównym występuje zadanie długie, które jest uruchomione przez ponad 50 milisekund. Wątek główny jest „zablokowany”, ponieważ przeglądarka nie może przerwać trwającego zadania. Dlatego w przypadku korzystania ze strony przez użytkownika w trakcie długiego zadania przeglądarka musi poczekać na jego zakończenie, zanim będzie mogła na nie odpowiedzieć.

Jeśli zadanie jest wystarczająco długie (powyżej 50 milisekund), użytkownik może zauważyć opóźnienie i potraktować stronę jako powolną lub niedziałającą.

Czas blokowania danego długiego zadania to jego czas trwania przekraczający 50 milisekund. A całkowity czas blokowania strony to suma czasu blokowania każdego długiego zadania, które wystąpiło po pierwszym wyrenderowaniu w przedziale czasu (zwykle jest to TTI w przypadku narzędzi do wczytywania strony lub łączny czas śledzenia w przypadku innych narzędzi).

Spójrzmy na ten schemat głównego wątku przeglądarki podczas wczytywania strony:

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

Oś czasu przedstawiona na poprzednim obrazie zawiera 5 zadań, z których 3 to długie zadania, ponieważ ich czas trwania przekracza 50 milisekund. Następny diagram pokazuje czas blokowania dla każdego z długich zadań:

Oś czasu zadań w wątku głównym pokazująca czas blokowania
Te same zadania z zaznaczonym czasem blokowania.

Choć łączny czas wykonywania zadań w wątku głównym wynosi 560 milisekund, to tylko 345 milisekund z tego czasu jest uważane za czas blokowania.

Czas trwania zadania (milisekundy) Czas blokowania zadań (milisekundy)
Zadanie 1 250 200
Zadanie 2 90 40
Zadanie 3 35 0
Zadanie 4 30 0
Zadanie 5 155 105
Całkowity czas blokowania 345 milisekund

Jaki jest związek między TBT i TTI?

Wartość TBT jest mierzona w danym okresie. W przypadku niektórych narzędzi laboratoryjnych, które tradycyjnie mierzą wczytywanie strony, w tym Lighthouse, do czasu wprowadzenia zmian mierzono do TTI, ponieważ pomaga to ocenić, na ile nieinteraktywna jest strona, zanim stanie się ona bardziej interaktywna. Jednak TBT może być nadal mierzone po wczytaniu strony, czyli poza TTI, na przykład w trybie Lighthouse w trybie zakresu czasu.

TTI uznaje stronę za „niezawodnie interaktywną”, jeśli przez co najmniej 5 sekund w wątku głównym nie ma długich zadań. Oznacza to, że 3 zadania o długości 51 ms rozłożone w czasie trwania 10 sekund mogą spowodować odrzucenie funkcji TTI jako jedno 10-sekundowe zadanie. Te 2 sytuacje będą jednak zupełnie inne dla użytkownika próbującego wejść w interakcję ze stroną.

W pierwszym przypadku 3 zadania o długości 51 ms będą miały czas TBT równy 3 milisekundy. Z kolei w przypadku pojedynczego zadania o długości 10 sekund czas TBT wynosi 9950 milisekund. Większa wartość TBT w drugim przypadku oznacza gorsze wrażenia.

Ten przykład pokazuje, dlaczego TBT jest często lepszym wskaźnikiem niż TTI, ponieważ jest mniej podatny na wyniki odstające. Dotyczy to nawet użycia technologii TTI jako punktu końcowego TBT.

Jak mierzyć TBT

TBT to wskaźnik, który należy mierzyć w laboratorium. Najlepszym sposobem na sprawdzenie informacji jest przeprowadzenie w witrynie audytu wydajności w Lighthouse. Szczegółowe informacje o wykorzystaniu znajdziesz w dokumentacji Lighthouse dotyczącej TBT.

Narzędzia laboratoryjne

Jaki jest dobry wynik w TBT?

Aby zadbać o wygodę użytkowników, warto zadbać o to, aby łączny czas blokowania witryny podczas testowania na przeciętnym sprzęcie mobilnym był krótszy niż 200 milisekund.

Szczegółowe informacje o wpływie TBT strony na wynik wydajności w Lighthouse znajdziesz w artykule Jak Lighthouse określa wynik w TBT.

Jak ulepszyć TBT

Aby dowiedzieć się, jak ulepszyć TBT w konkretnej witrynie, możesz przeprowadzić audyt działania w Lighthouse, zwracając uwagę na konkretne możliwości zaproponowane w ramach audytu.

Aby dowiedzieć się, jak ogólnie ulepszyć TBT (w każdej witrynie), zapoznaj się z tymi przewodnikami po skuteczności: