Pubblicato: 7 novembre 2019, ultimo aggiornamento: 15 ottobre 2025
Che cos'è TBT?
La metrica Total Blocking Time (TBT) misura il tempo totale dopo la prima visualizzazione con contenuti (FCP) in cui il thread principale è stato bloccato per il tempo necessario a evitare la reattività all'input.
Per impostazione predefinita, Lighthouse interrompe il monitoraggio del TBT dopo il Time to Interactive (TTI), come fanno alcuni altri strumenti di laboratorio che misurano il caricamento della pagina. Vedi Qual è il rapporto tra TBT e TTI?
Il thread principale viene considerato "bloccato" ogni volta che si verifica un'attività lunga, ovvero un'attività che viene eseguita sul thread principale per più di 50 millisecondi. Il thread principale è "bloccato" perché il browser non può interrompere un'attività in corso. Pertanto, nel caso in cui un utente interagisca con la pagina nel bel mezzo di un'attività lunga, il browser deve attendere il completamento dell'attività prima di poter rispondere.
Se l'attività è sufficientemente lunga (superiore a 50 millisecondi), è probabile che l'utente noterà il ritardo e percepirà la pagina come lenta o non funzionante.
Il tempo di blocco di una determinata attività lunga è la sua durata superiore a 50 millisecondi. Il tempo di blocco totale per una pagina è la somma del tempo di blocco per ogni attività lunga che si verifica dopo FCP per il periodo di tempo misurato (in genere TTI per gli strumenti di caricamento della pagina o il tempo totale di traccia per altri strumenti).
Ad esempio, considera il seguente diagramma del thread principale del browser durante il caricamento della pagina:
La sequenza temporale mostrata nell'immagine precedente ha cinque attività, tre delle quali sono attività lunghe perché la loro durata supera i 50 millisecondi. Il diagramma seguente mostra il tempo di blocco per ciascuna delle attività lunghe:
Pertanto, mentre il tempo totale trascorso a eseguire attività sul thread principale è di 560 millisecondi, solo 345 millisecondi di questo tempo sono considerati tempo di blocco.
Durata dell'attività (millisecondi) | Tempo di blocco dell'attività (millisecondi) | |
---|---|---|
Attività 1 | 250 | 200 |
Attività 2 | 90 | 40 |
Attività 3 | 35 | 0 |
Attività 4 | 30 | 0 |
Attività 5 | 155 | 105 |
Total Blocking Time | 345 millisecondi |
Qual è la relazione tra TBT e INP?
TBT è precedente a INP ed è utile come indicatore di problemi INP, in particolare nell'ambiente sperimentale in cui la misurazione di INP è più difficile. Tuttavia, TBT può segnalare potenziali problemi che potrebbero non interessare gli utenti, se non interagiscono in quel momento. Inoltre, può non rilevare problemi causati da interazioni se misurati nell'ambiente di laboratorio. Ti consigliamo di misurare l'INP sul campo come misura dei problemi di reattività effettivi riscontrati dagli utenti. TBT può essere una metrica proxy ragionevole per INP per il lab, ma non è un sostituto di INP in sé.
Qual è la relazione tra TBT e TTI?
Il TBT viene misurato in un determinato periodo di tempo. Per alcuni strumenti di laboratorio che misurano tradizionalmente i caricamenti di pagina, tra cui Lighthouse, il TBT è stato misurato fino al TTI perché aiuta a quantificare la gravità della non interattività di una pagina prima che diventi interattiva in modo affidabile. Tuttavia, il TBT potrebbe continuare a essere misurato anche dopo il caricamento della pagina e quindi oltre il TTI, ad esempio nella modalità Timespan di Lighthouse.
TTI considera una pagina "interattiva in modo affidabile" se il thread principale è rimasto libero da attività lunghe per almeno cinque secondi. Ciò significa che tre attività da 51 ms distribuite su 10 secondi possono ritardare il TTI tanto quanto una singola attività di 10 secondi, ma questi due scenari sarebbero molto diversi per un utente che tenta di interagire con la pagina.
Nel primo caso, tre attività da 51 ms avrebbero un TBT di 3 millisecondi. mentre un'attività singola di 10 secondi avrebbe un TBT di 9950 millisecondi. Il valore TBT più alto nel secondo caso quantifica l'esperienza peggiore.
Questo esempio mostra perché TBT è spesso una metrica migliore di TTI, in quanto è meno soggetta a valori anomali. Questo vale anche quando TTI viene utilizzato come endpoint per TBT.
Come misurare il TBT
Il TBT è una metrica che deve essere misurata in laboratorio. Il modo migliore per misurare il TBT è eseguire un controllo del rendimento di Lighthouse sul tuo sito. Per informazioni dettagliate sull'utilizzo, consulta la documentazione di Lighthouse su TBT.
È possibile misurare il TBT sul campo, ma non lo consigliamo perché l'interazione dell'utente può influire sul TBT della pagina in modi che portano a molte variazioni nei report. Se vuoi andare oltre una singola interazione INP, ti consigliamo di esaminare la più recente API Long Animations Frame sul campo.
Strumenti di laboratorio
Qual è un buon punteggio TBT?
Per offrire una buona esperienza utente, i siti dovrebbero fare in modo che il tempo di blocco totale sia inferiore a 200 millisecondi se testati su hardware mobile medio.
Per informazioni dettagliate su come il TBT della pagina influisce sul punteggio di rendimento di Lighthouse, consulta l'articolo Come Lighthouse determina il punteggio TBT.
Come migliorare il TBT
In generale, consigliamo di ottimizzare per INP anziché TBT, in quanto consigliamo di utilizzare TBT come metrica proxy per INP in laboratorio (dove INP non può essere misurato con precisione). Pertanto, per migliorare il TBT, consulta le nostre linee guida per l'ottimizzazione di INP.
Se esamini in modo specifico il TBT, puoi eseguire un controllo del rendimento di Lighthouse e prestare attenzione a eventuali opportunità specifiche suggerite dal controllo.
In generale, migliorare il TBT di un sito comporta la riduzione della quantità di script di blocco, il che significa ottimizzarli per renderli meno bloccanti o ridurre la quantità di script complessiva. Consulta le seguenti guide al rendimento: