Yayınlanma tarihi: 7 Kasım 2019, Son güncelleme tarihi: 15 Ekim 2025
TBT nedir?
Total Blocking Time (TBT) metriği, İlk Zengin İçerikli Boyama (FCP) sonrasında ana iş parçacığının, girişe yanıt vermeyi önleyecek kadar uzun süre engellendiği toplam süreyi ölçer.
Varsayılan olarak Lighthouse, etkileşime hazır olma süresinden (TTI) sonra TBT'yi izlemeyi durdurur. Sayfa yüklemeyi ölçen diğer bazı laboratuvar araçları da aynı şekilde çalışır. TBT, TTI ile nasıl ilişkilidir? başlıklı makaleyi inceleyin.
Ana iş parçacığı, 50 milisaniyeden uzun süre ana iş parçacığında çalışan bir görev olan uzun görev olduğunda "engellenmiş" olarak kabul edilir. Tarayıcı, devam eden bir görevi kesintiye uğratamadığı için ana iş parçacığının "engellendiğini" söyleriz. Bu nedenle, kullanıcının uzun bir görevin ortasında sayfayla etkileşime girmesi durumunda tarayıcı, yanıt verebilmek için görevin tamamlanmasını beklemelidir.
Görev yeterince uzunsa (50 milisaniyeden fazla) kullanıcının gecikmeyi fark etmesi ve sayfayı yavaş veya bozuk olarak algılaması olasıdır.
Belirli bir uzun görevin engelleme süresi, 50 milisaniyeyi aşan süresidir. Bir sayfanın toplam engelleme süresi ise ölçülen zaman aralığında (genellikle sayfa yükleme araçları için TTI veya diğer araçlar için toplam izleme süresi) FCP'den sonra gerçekleşen her uzun görevin engelleme süresinin toplamıdır.
Örneğin, sayfa yükleme sırasında tarayıcının ana iş parçacığıyla ilgili aşağıdaki şemayı inceleyin:
Önceki resimde gösterilen zaman çizelgesinde beş görev var. Bunlardan üçü, süreleri 50 milisaniyeyi aştığı için uzun görevler olarak sınıflandırılıyor. Aşağıdaki şemada, uzun görevlerin her biri için engelleme süresi gösterilmektedir:
Bu nedenle, ana iş parçacığında görevleri çalıştırmak için harcanan toplam süre 560 milisaniye olsa da bu sürenin yalnızca 345 milisaniyesi 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 ile INP arasındaki ilişki nedir?
TBT, INP'den önce kullanılıyordu ve özellikle INP'nin ölçülmesinin daha zor olduğu laboratuvar ortamında INP sorunlarının göstergesi olarak kullanışlıdır. Ancak TBT, kullanıcıların o sırada etkileşimde bulunmaması durumunda sorun yaşamayacakları yerlerde olası sorunları işaretleyebilir. Ayrıca, laboratuvar ortamında ölçüldüğünde 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 vekil 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. Geleneksel olarak sayfa yüklemelerini ölçen bazı laboratuvar araçlarında (ör. Lighthouse) TBT, TTI'ye kadar ölçülür. Bunun nedeni, TBT'nin 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ı olmasıdır. Ancak TBT, sayfa yüklendikten sonra ve bu nedenle TTI'nin ötesinde de ölçülmeye devam edebilir (ör. Lighthouse Timespan modunda).
TTI, ana ileti dizisi en az beş saniye boyunca uzun görevlerden arındırılmışsa bir sayfayı "güvenilir şekilde etkileşimli" olarak kabul eder. Bu, 10 saniyeye yayılan üç adet 51 ms'lik görevin, TTI'yi tek bir 10 saniyelik görev kadar geriye itebileceği anlamına gelir. Ancak bu iki senaryo, sayfayla etkileşime geçmeye çalışan bir kullanıcı için çok farklı bir deneyim sunar.
İlk durumda, 51 ms'lik üç görevde TBT 3 milisaniye olur. 10 saniye süren tek bir görev için TBT 9.950 milisaniye olur. İkinci durumda daha büyük olan TBT değeri, daha kötü deneyimi gösterir.
Bu örnekte, TBT'nin aykırı değerlere daha az eğilimli olduğu için neden genellikle TTI'dan daha iyi bir metrik olduğu gösterilmektedir. 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 ç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ın TBT'sini raporlarınızda çok fazla varyansa yol açacak şekilde etkileyebileceğinden bu yöntemi önermiyoruz. Bunun yerine, tek bir INP etkileşiminin ötesine bakmak istiyorsanız daha yeni olan Long Animations Frame API in the field'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ım üzerinde test edildiğinde Toplam Engelleme Süresi'nin 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, TBT puanınızı nasıl belirler? başlıklı makaleyi inceleyin.
TBT'yi 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 rehberimize göz atın.
Özellikle TBT'ye bakıyorsanız Lighthouse performans denetimi çalıştırabilir ve denetimin önerdiği belirli fırsatlara dikkat edebilirsiniz.
Genel olarak, bir site için TBT'yi iyileştirmek, engelleme komut dosyalarının miktarını azaltmayı içerir. Bu da komut dosyalarını daha az engelleme yapacak şekilde optimize etmek veya genel olarak komut dosyalarının miktarını azaltmak anlamına gelir. Aşağıdaki performans kılavuzlarına bakın: