"매 FCP 의 TTI 사이 의 long-task blocking 의 sum". TBT 의 lab metric 의 user-perceived input responsiveness 의 quantify, 매 each long task (>50ms) 의 50ms-over portion 의 add. 매 2026: INP 의 field metric 의 promote 의 후 의 TBT 의 lab proxy 의 critical, 매 Lighthouse / WebPageTest 의 score 의 driver.
매 핵심
매 정의
Long task: main thread 의 50ms 의 over 의 continuous 의 block.
Blocking portion: long task duration 의 (duration − 50ms).
TBT: FCP 의 ~ TTI 사이 의 모든 long task 의 blocking portion 의 sum.
import{onINP,onLCP,onCLS,onTTFB}from'web-vitals';onINP(({value,rating})=>analytics.send('inp',{value,rating}));// 매 TBT 의 field 의 X — 매 lab 의 only
Yield to scheduler (break long task)
asyncfunctionprocessItems(items){for(leti=0;i<items.length;i++){work(items[i]);if(i%100===0){awaitscheduler.yield();// 매 Chrome 129+ 의 baseline
}}}
Defer non-critical script
<!-- 매 main bundle --><scripttype="module"src="/app.js"></script><!-- 매 analytics 의 idle 의 defer --><script>requestIdleCallback(()=>{consts=document.createElement('script');s.src='https://analytics.example.com/tag.js';s.async=true;document.head.appendChild(s);});</script>
// React 19 / Next.js 의 example
import{lazy,Suspense}from'react';constHeavy=lazy(()=>import('./HeavyChart'));<Suspensefallback={<Skeleton/>}><Heavy/></Suspense>