زمان انسداد کل (TBT)

TBT چیست؟

متریک زمان انسداد کل (TBT) کل مدت زمان پس از اولین رنگ محتوایی (FCP) را اندازه گیری می کند که در آن رشته اصلی به مدت کافی برای جلوگیری از پاسخگویی ورودی مسدود شده است.

به طور پیش‌فرض، Lighthouse نظارت بر TBT را پس از Time to Interactive (TTI) متوقف می‌کند، مانند برخی ابزارهای آزمایشگاهی دیگر که بار صفحه را اندازه‌گیری می‌کنند. ببینید TBT چگونه با TTI ارتباط دارد؟ .

هر زمان که یک کار طولانی، کاری که بیش از 50 میلی ثانیه روی رشته اصلی اجرا می شود، موضوع اصلی مسدود شده در نظر گرفته می شود. ما می گوییم رشته اصلی "مسدود" است زیرا مرورگر نمی تواند کاری را که در حال انجام است قطع کند. بنابراین در صورتی که کاربر در میانه یک کار طولانی با صفحه تعامل داشته باشد ، مرورگر باید منتظر بماند تا کار به پایان برسد تا بتواند پاسخ دهد.

اگر کار به اندازه کافی طولانی باشد (هر چیزی بالاتر از 50 میلی ثانیه)، این احتمال وجود دارد که کاربر متوجه تاخیر شود و صفحه را کند یا شکسته درک کند.

زمان مسدود شدن یک کار طولانی مدت زمان آن بیش از 50 میلی ثانیه است. و کل زمان مسدود شدن برای یک صفحه، مجموع زمان مسدود کردن برای هر کار طولانی است که پس از FCP برای بازه زمانی اندازه‌گیری شده (معمولا TTI برای ابزارهای بارگذاری صفحه، یا کل زمان ردیابی برای ابزارهای دیگر) رخ می‌دهد.

به عنوان مثال، نمودار زیر را از رشته اصلی مرورگر در حین بارگذاری صفحه در نظر بگیرید:

جدول زمانی وظایف در موضوع اصلی
جدول زمانی وظایف در موضوع اصلی.

خط زمانی نشان داده شده در تصویر قبل دارای پنج کار است که سه تای آنها Long Tasks هستند زیرا مدت زمان آنها بیش از 50 میلی ثانیه است. نمودار بعدی زمان مسدود کردن هر یک از وظایف طولانی را نشان می دهد:

جدول زمانی وظایف در موضوع اصلی که زمان مسدود شدن را نشان می دهد
همان وظایف، با زمان مسدود کردن مشخص شده است.

بنابراین در حالی که کل زمان صرف شده برای اجرای وظایف در رشته اصلی 560 میلی ثانیه است، تنها 345 میلی ثانیه از آن زمان به عنوان زمان مسدود کردن در نظر گرفته می شود.

مدت زمان کار (میلی ثانیه) زمان مسدود کردن کار (میلی ثانیه)
وظیفه یک 250 200
وظیفه دو 90 40
وظیفه سه 35 0
وظیفه چهار 30 0
وظیفه پنجم 155 105
کل زمان مسدود شدن 345 میلی ثانیه

ارتباط TBT با INP چگونه است؟

TBT قبل از INP است و به عنوان شاخصی برای مسائل INP مفید است، به ویژه در محیط آزمایشگاهی که اندازه گیری INP دشوارتر است. با این حال، TBT می‌تواند مشکلات بالقوه را علامت‌گذاری کند، در صورتی که ممکن است مشکلی برای کاربران وجود نداشته باشد - اگر در آن زمان تعامل نداشته باشند. و همچنین می‌تواند مشکلات ناشی از فعل و انفعالات را هنگام اندازه‌گیری در محیط آزمایشگاه از دست بدهد. توصیه می کنیم INP را در میدان به عنوان معیاری از مسائل مربوط به پاسخگویی واقعی که توسط کاربران تجربه شده است اندازه گیری کنید. TBT ممکن است یک معیار پراکسی معقول برای INP برای آزمایشگاه باشد، اما به خودی خود جایگزینی برای INP نیست.

ارتباط TBT با TTI چگونه است؟

TBT در یک دوره زمانی اندازه گیری می شود. برای برخی از ابزارهای آزمایشگاهی که به‌طور سنتی بارگذاری صفحه را اندازه‌گیری می‌کنند، از جمله Lighthouse، TBT تا TTI اندازه‌گیری می‌شود، زیرا به تعیین میزان شدت غیرتعاملی بودن یک صفحه قبل از تبدیل شدن به تعاملی قابل اعتماد کمک می‌کند. با این حال، TBT همچنین می تواند پس از بارگذاری صفحه و بنابراین فراتر از TTI اندازه گیری شود، برای مثال در حالت Lighthouse Timespan.

TTI یک صفحه را "به طور قابل اعتماد تعاملی" در نظر می گیرد اگر موضوع اصلی حداقل به مدت پنج ثانیه عاری از کارهای طولانی باشد. این بدان معناست که سه کار 51 میلی‌ثانیهی که در مدت 10 ثانیه پخش می‌شوند، می‌توانند TTI را به اندازه یک کار طولانی 10 ثانیه به عقب برانند - اما این دو سناریو برای کاربری که سعی در تعامل با صفحه دارد، بسیار متفاوت است.

در حالت اول، سه کار 51 میلی‌ثانیه، TBT 3 میلی‌ثانیه‌ای دارند. در حالی که یک کار طولانی 10 ثانیه ای دارای TBT 9950 میلی ثانیه است. مقدار TBT بزرگتر در مورد دوم، تجربه بدتر را کمیت می کند.

این مثال نشان می دهد که چرا TBT اغلب معیار بهتری نسبت به TTI است، زیرا کمتر مستعد ابتلا به موارد پرت است. این حتی زمانی که TTI به عنوان نقطه پایانی برای TBT استفاده می شود نیز صادق است.

نحوه اندازه گیری TBT

TBT معیاری است که باید در آزمایشگاه اندازه گیری شود. بهترین راه برای اندازه گیری TBT، اجرای ممیزی عملکرد Lighthouse در سایت شما است. برای جزئیات استفاده به مستندات Lighthouse در مورد TBT مراجعه کنید.

امکان اندازه‌گیری TBT در میدان وجود دارد، اما ما این را توصیه نمی‌کنیم، زیرا تعامل کاربر می‌تواند بر TBT صفحه شما تأثیر بگذارد به گونه‌ای که منجر به واریانس زیادی در گزارش‌های شما شود. در عوض، اگر می‌خواهید فراتر از یک تعامل INP نگاه کنید، توصیه می‌کنیم به API جدیدتر Long Animations Frame در این زمینه نگاه کنید.

ابزار آزمایشگاهی

نمره TBT خوب چیست؟

برای ارائه یک تجربه کاربری خوب، سایت‌ها باید تلاش کنند تا زمانی که روی سخت‌افزار متوسط ​​تلفن همراه آزمایش می‌شوند، زمان مسدودی کل کمتر از 200 میلی‌ثانیه داشته باشند.

برای جزئیات بیشتر در مورد اینکه چگونه TBT صفحه شما بر امتیاز عملکرد Lighthouse شما تأثیر می گذارد، ببینید چگونه Lighthouse امتیاز TBT شما را تعیین می کند

نحوه بهبود TBT

به طور کلی توصیه می کنیم برای INP بیش از TBT بهینه سازی کنید زیرا توصیه می کنیم از TBT یک معیار پراکسی برای INP در آزمایشگاه است (جایی که INP معمولاً نمی تواند به طور دقیق اندازه گیری شود). بنابراین، برای بهبود TBT به راهنمای ما برای بهینه سازی INP نگاه کنید.

اگر به طور خاص به TBT نگاه می کنید، می توانید ممیزی عملکرد Lighthouse را اجرا کنید و به فرصت های خاصی که ممیزی پیشنهاد می کند توجه کنید.

به طور کلی بهبود TBT برای یک سایت شامل کاهش میزان مسدود کردن اسکریپت ها است که به معنای بهینه سازی آنها برای مسدود شدن کمتر است یا به طور کلی کاهش تعداد اسکریپت ها. به راهنمای عملکرد زیر مراجعه کنید: