Toplam Engelleme Süresi (TBT)

TBT nedir?

Toplam Engelleme Süresi (TBT) metriği, ilk zengin içerikli boyamadan (FCP) 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.

Varsayılan olarak Lighthouse, sayfa yüklemeyi ölçen diğer bazı laboratuvar araçları gibi Etkileşime Hazır Olma Süresi (TTI) sonrasında 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ğratamayacağı için ana iş parçacığının "engellendiğini" söylüyoruz. 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 bir süre), kullanıcı muhtemelen gecikmeyi fark eder ve sayfayı bozuk veya bozuk olarak algılayacaktır.

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. Sonraki şemada, uzun görevlerin her biri için engelleme süresi gösterilmektedir:

Ana ileti dizisinde, engelleme süresini gösteren görevler 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, INP ile nasıl ilişkilidir?

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 kullanıcılar için o sırada etkileşimde bulunmadıkları takdirde herhangi bir sorun yokken TBT olası sorunları işaretleyebilir. Ayrıca, laboratuvar ortamında ölçüldüğünde etkileşimlerin neden olduğu sorunlar da gözden kaçabilir. Kullanıcıların yaşadığı gerçek yanıt verme sorunlarını ölçmek için INP'yi sahada ölçmenizi öneririz. TBT, laboratuvarda INP için makul bir metrik olabilir ancak tek başına INP'nin yerine geçmez.

TBT ile TTI arasında ne var?

TBT belirli bir dönem boyunca ölçülür. Lighthouse gibi geleneksel olarak sayfa yüklemelerini ölçen bazı laboratuvar araçlarında TBT, bir sayfanın güvenilir bir şekilde etkileşimli hale gelmeden önce ne kadar etkileşimsiz olduğunun önem derecesinin ölçülmesine yardımcı olduğundan TTI'ye kadar ölçülmüştür. Ancak TBT, sayfa yüklendikten sonra da ölçülmeye devam edebilir. TTI sonrasında (örneğin, Lighthouse Zaman Aralığı modunda).

TTI, ana iş parçacığında en az beş saniye boyunca uzun görev bulunmuyorsa bir sayfayı "güvenilir şekilde etkileşimli" olarak kabul eder. Bu, 10 saniyeye yayılmış 51 ms'lik üç görevin TTI'yi 10 saniyelik tek bir görev kadar geri çevirebileceği anlamına gelir. Ancak bu iki senaryo, sayfayla etkileşim kurmaya çalışan kullanıcıya oldukça farklı hissedecektir.

İlk durumda, 51 ms'lik üç görevin TBT'si 3 milisaniye olacaktır. 10 saniyelik tek bir görevin ise TBT değeri 9950 milisaniye olacaktır. İkinci durumdaki daha büyük TBT değeri, daha kötü deneyimi ölçer.

Bu örnek, aykırı değerlere daha az açık olduğu için TBT'nin neden TTI'den daha iyi bir metrik olduğunu göstermektedir. Bu durum, TBT için uç nokta olarak TTI kullanıldığında bile geçerlidir.

TBT nasıl ölçülür?

TBT, laboratuvarda ölçülmesi gereken bir metriktir. TBT'yi ölçmenin en iyi yolu, sitenizde Lighthouse performans denetimi yürütmektir. Kullanım ayrıntıları için TBT ile ilgili Lighthouse dokümanlarına bakın.

Alanda TBT ölçümü de yapılabilir. Ancak kullanıcı etkileşimi, sayfanızın TBT'sini raporlarınızda çok sayıda farklılığa yol açacak şekilde etkileyebileceği için bunun önerilmez. 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ğiyle ilgili ayrıntılar için Lighthouse TBT puanınızı nasıl belirler? başlıklı makaleye bakın

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 rehberimize 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 site için TBT'nin iyileştirilmesi, engellenen komut dosyalarının miktarının azaltılmasını içerir. Bu da, komut dosyalarının daha az engellenmesini sağlayacak şekilde optimize edilmesi veya genel olarak komut dosyası miktarının azaltılması anlamına gelir. Aşağıdaki performans kılavuzlarına bakın: