Toplam Engelleme Süresi (TBT)

TBT nedir?

Toplam Engelleme Süresi (TBT) metriği, İlk Zengin İçerikli Boyama (FCP)'dan sonra ana iş parçacığının girişe yanıt vermeyi önleyeceği kadar uzun süre engellendiği toplam süreyi ölçer.

Lighthouse, sayfa yüklemesini ölçen diğer bazı laboratuvar araçları gibi varsayılan olarak Etkileşime Hazır Olma Süresi (TTI)'nden sonra TBT'yi izlemeyi durdurur. TBT, TTI ile nasıl ilişkilidir? başlıklı makaleyi inceleyin.

Ana iş parçacığında 50 milisaniyeden uzun süre çalışan bir uzun görev olduğunda ana iş parçacığı "engellenmiş" olarak kabul edilir. Tarayıcı devam eden bir görevi kesintiye uğratamadığı için ana iş parçacığının "engellendiği" söylenir. Bu nedenle, kullanıcı uzun bir görevin ortasında sayfayla etkileşim kurarsa tarayıcı, yanıt verebilmek için görevin tamamlanmasını beklemelidir.

Görev yeterince uzunsa (50 milisaniyeden uzun sürerse) kullanıcı gecikmeyi fark edip sayfanın yavaş veya bozuk olduğunu düşünebilir.

Belirli bir uzun görevin engelleme süresi, 50 milisaniyeden uzun olan süresidir. Bir sayfanın toplam engelleme süresi, ölçülen zaman aralığında FCP'den sonra gerçekleşen her uzun görev için engelleme süresinin toplamıdır (genellikle sayfa yükleme araçları için TTI veya diğer araçlar için toplam izleme süresi).

Örneğin, sayfa yükleme sırasında tarayıcının ana iş parçacığının aşağıdaki şemasını inceleyin:

Ana iş parçacığında görev zaman çizelgesi
Ana iş parçacığındaki görevlerin zaman çizelgesi.

Önceki resimde gösterilen zaman çizelgesinde beş görev vardır. Bunlardan üçü, süresi 50 milisaniyeyi aştığı için uzun görevlerdir. Aşağıdaki şemada, uzun görevlerin her birinin engelleme süresi gösterilmektedir:

Ana iş parçacığında, engelleme süresini gösteren görev zaman çizelgesi
Engelleme zamanlarının işaretlendiği aynı görevler.

Bu nedenle, ana iş parçacığında görev çalıştırmaya harcanan toplam süre 560 milisaniye olsa da bu sürenin yalnızca 345 milisaniyelik kısmı engelleme süresi olarak kabul edilir.

Görev süresi (milisaniye) Görev engelleme süresi (milisaniye)
Birinci görev 250 200
İkinci görev 90 40
Üçüncü görev 35 0
Dördüncü görev 30 0
Beşinci görev 155 105
Toplam Engelleme Süresi 345 milisaniye

TBT'nin INP ile ilişkisi nedir?

TBT, INP'den önce gelir ve özellikle INP'nin ölçülmesinin daha zor olduğu laboratuvar ortamında INP sorunlarının göstergesi olarak yararlıdır. Ancak TBT, kullanıcılar o sırada etkileşimde bulunmadığı takdirde sorun yaşamayabilecekleri olası sorunları işaretleyebilir. Ayrıca, laboratuvar ortamında ölçülen etkileşimlerden kaynaklanan sorunları da gözden kaçırabilir. Kullanıcıların yaşadığı gerçek yanıt verme sorunlarını ölçmek için INP'yi sahada ölçmenizi öneririz. TBT, laboratuvar için INP'nin makul bir proxy metriği olabilir ancak INP'nin yerine geçmez.

TBT ile TTI arasındaki ilişki nedir?

TBT, belirli bir süre boyunca ölçülür. Lighthouse da dahil olmak üzere geleneksel olarak sayfa yüklemelerini ölçen bazı laboratuvar araçları için TBT, bir sayfanın güvenilir bir şekilde etkileşimli hale gelmeden önce ne kadar etkileşimsiz olduğunun önem düzeyini ölçmeye yardımcı olduğu için TTI'ye kadar ölçülmüştür. Ancak TBT, sayfa yüklendikten sonra ve dolayısıyla TTI'nin ötesinde de ölçülmeye devam edebilir (ör. Lighthouse Zaman Aralığı modunda).

Ana ileti dizisi en az beş saniye boyunca uzun görevlerden arındırılmışsa TTI, sayfayı "güvenilir şekilde etkileşimli" olarak kabul eder. Bu, 10 saniye boyunca 51 ms süren üç görevin, TTI'yi 10 saniyelik tek bir görev kadar geriye çekebileceği anlamına gelir. Ancak bu iki senaryo, sayfayla etkileşime geçmeye çalışan bir kullanıcı için çok farklı olur.

İlk durumda, 51 ms olan üç görevin TBT'si 3 milisaniye olur. 10 saniyelik tek bir görev için ise TBT 9.950 milisaniye olur. İkinci durumdaki daha büyük TBT değeri, daha kötü deneyimi ölçer.

Bu örnekte, TBT'nin aykırı değerlere daha az eğilimli olması nedeniyle genellikle TTI'den daha iyi bir metrik olduğu gösterilmektedir. Bu durum, TBT için uç nokta olarak TTI kullanıldığında bile geçerlidir.

TBT'yi ölçme

TBT, laboratuvarda ölçülmesi gereken bir metriktir. TBT'yi ölçmenin en iyi yolu, sitenizde bir Lighthouse performans denetimi çalıştırmaktır. Kullanımla ilgili ayrıntılar için TBT ile ilgili Lighthouse belgelerine bakın.

TBT'yi sahada ölçmek mümkündür ancak kullanıcı etkileşimi, sayfanızı TBT'sini raporlarınızda çok fazla varyasyona yol açacak şekilde etkileyebileceğinden bunu önermeyiz. Bunun yerine, tek bir INP etkileşiminin ötesine bakmak istiyorsanız alandaki daha yeni Long Animations Frame API'ye bakmanızı öneririz.

Laboratuvar araçları

İyi bir TBT puanı nedir?

İyi bir kullanıcı deneyimi sağlamak için sitelerde ortalama mobil donanımda test edildiğinde toplam engelleme süresinin 200 milisaniyeden kısa olması gerekir.

Sayfanızın TBT'sinin Lighthouse performans puanınızı nasıl etkilediği hakkında ayrıntılı bilgi için Lighthouse'un TBT puanınızı nasıl belirlediği başlıklı makaleyi inceleyin.

Geçmişe Dönüş fotoğraflarını iyileştirme

Genel olarak, TBT'nin laboratuvarda INP için proxy metrik olarak kullanılmasını önerdiğimizden (INP genellikle doğru şekilde ölçülemez) TBT yerine INP için optimizasyon yapmanızı öneririz. Bu nedenle, TBT'yi iyileştirmek için INP'yi optimize etme ile ilgili yönergelerimize göz atın.

Özellikle TBT'ye odaklanıyorsanız Lighthouse performans denetimi çalıştırabilir ve denetimin önerdiği belirli fırsatlara dikkat edebilirsiniz.

Genel olarak, bir sitenin TBT'sini iyileştirmek, engelleme komut dosyalarının miktarını azaltmayı içerir. Bu, komut dosyalarını daha az engelleyecek şekilde optimize etmek veya genel komut dosyası miktarını azaltmak anlamına gelir. Aşağıdaki performans kılavuzlarına bakın: