Całkowity czas blokowania (TBT)

Całkowity czas blokowania (TBT) jest ważnym wskaźnikiem laboratoryjnym do pomiaru responsywności wczytywania. Mierzy łączny czas po pierwszym wyrenderowaniu treści (FCP), w którym wątek główny był zablokowany na tyle długo, że nie pozwalały na odpowiedzi na dane wejściowe użytkownika. Mała wartość TBT pomaga zapewnić użyteczność strony.

Domyślnie Lighthouse przestaje monitorować TBT po Time to Interactive (TTI), podobnie jak kilka innych narzędzi laboratoryjnych do pomiaru wczytywania strony. Więcej informacji znajdziesz w artykule Jaki związek ma TBT z ITI?.

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 użytkownik spróbuje 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 zostanie zablokowane w wątku głównym przez ponad 50 ms, użytkownik prawdopodobnie zauważy opóźnienie i określi, że strona jest powolna lub uszkodzonej.

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 ma miejsce po FCP w wyznaczonym przedziale czasu (zwykle jest to czas Titi 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
Oś czasu zadań w wątku głównym.

Ta 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
Te same zadania z oznaczonym czasem zablokowania.

Łączny czas wykonywania zadań w wątku głównym wynosi 560 ms, a 345 ms tego czasu jest uważane 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 stron, w tym narzędzia Lighthouse, do pomiaru liczby wczytań stron użyto parametru TBT, ponieważ dzięki temu można było oszacować, jak bardzo nieinteraktywna jest strona, zanim staje się ona wiarygodnie interaktywna. Możesz jednak nadal mierzyć TBT poza TTI, np. 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ą odrzucić algorytm TTI tak daleko, jak w przypadku pojedynczego, 10-sekundowego zadania.

Jednak te 2 scenariusze wyglądają zupełnie inaczej niż te 2 scenariusze dla użytkownika, który próbuje wejść w interakcję ze stroną. W przypadku 3 zadań 51 ms czas TBT wynosi 3 ms, a pojedyncze zadanie 10-sekundowe ma TBT wynoszący 9950 ms, co znacznie zmniejsza wygodę użytkownika.

TBT dokładniej przedstawia dane odstające, dlatego jest często bardziej przydatnymi danymi niż TTI, nawet jeśli pomiar TBT kończy się na TTI.

Zmierz TBT

TBT to dane, które należy mierzyć w tym module. Najlepszym sposobem pomiaru TBT jest przeprowadzenie w witrynie kontroli wydajności narzędzia Lighthouse. Szczegóły użycia znajdziesz w dokumentacji Lighthouse na temat TBT.

Narzędzia laboratoryjne

Jaki jest dobry wynik do ustalenia?

Ze względu na wygodę użytkowników czas testowania witryny 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 Lighthouse, znajdziesz w artykule Jak Lighthouse określa wynik TBT.

Popraw TBT

Aby dowiedzieć się, jak ulepszyć TBT w przypadku określonej witryny, przeprowadź audyt wydajności 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: