מה זה TBT?
המדד 'זמן חסימה כולל' (TBT) מודד את משך הזמן הכולל אחרי המהירות שבה נטען רכיב התוכן הראשון (FCP), שבו ה-thread הראשי נחסם למשך מספיק זמן כדי למנוע תגובות לקלט.
כברירת מחדל, מערכת Lighthouse מפסיקה לעקוב אחרי TBT אחרי Time to Interactive (TTI), כמו גם כלים אחרים בשיעור Lab שמודדים טעינת דף. ראו מה הקשר בין TBT לבין 'דברים שאפשר לעשות'?.
ה-thread הראשי נחשב 'חסום' בכל פעם שיש משימה ארוכה שרצה בשרשור הראשי למשך יותר מ-50 אלפיות שנייה. אנחנו אומרים שה-thread הראשי 'חסום' כי הדפדפן לא יכול להפריע למשימה שמתבצעת. במקרה שמשתמש כן מבצע אינטראקציה עם הדף במהלך משימה ארוכה, הדפדפן צריך להמתין לסיום המשימה כדי שיוכל להגיב.
אם המשימה ארוכה מספיק (יותר מ-50 אלפיות השנייה), סביר להניח שהמשתמש יבחין בעיכוב ויראה את הדף איטי או שבור.
זמן החסימה של משימה ארוכה מסוימת הוא משך הזמן שהוגדר ליותר מ-50 אלפיות השנייה. זמן החסימה הכולל של דף הוא הסכום של זמן החסימה של כל משימה ארוכה שמתרחשת לאחר FCP במסגרת הזמן שנמדדה (בדרך כלל זמן המעקב אחר כלים לטעינת דף, או זמן המעקב הכולל בכלים אחרים).
לדוגמה, נבחן את התרשים הבא של ה-thread הראשי של הדפדפן בזמן טעינת הדף:
בציר הזמן שמוצג בתמונה הקודמת יש חמש משימות, ששלוש מהן הן 'משימות ארוכות' כי משך הזמן שלהן עולה על 50 אלפיות השנייה. בתרשים הבא מוצג זמן החסימה לכל אחת מהמשימות הארוכות:
לכן, משך הזמן הכולל לביצוע משימות ב-thread הראשי הוא 560 אלפיות השנייה, אבל רק 345 אלפיות השנייה מהזמן הזה נחשבות לזמן חסימה.
משך המשימה (אלפיות השנייה) | זמן החסימה של המשימה (אלפיות השנייה) | |
---|---|---|
משימה ראשונה | 250 | 200 |
משימה שנייה | 90 | 40 |
משימה שלישית | 35 | 0 |
משימה רביעית | 30 | 0 |
משימה חמש | 155 | 105 |
זמן חסימה כולל | 345 אלפיות השנייה |
מה הקשר בין TBT לבין 'דברים שאפשר לעשות'?
TBT נמדד לפי תקופה. בחלק מהכלים של שיעורי Lab שמודדים בדרך כלל טעינות דפים, כולל Lighthouse, המדידה טרם נקבעה עד לפני 'דברים שאפשר לעשות', כי היא עוזרת לכמת את החומרה של מידת האינטראקטיביות של הדף לפני שהוא הופך לאינטראקטיבי מהימן. עם זאת, ניתן להמשיך למדוד את ה-TBT גם אחרי טעינת הדף, כך שגם אחרי מעבר ל-TTI, למשל במצב Lighthouse Timespan.
'דברים שאפשר לעשות' מגדירים דף כ'אינטראקטיבי אמין' אם ה-thread הראשי היה פנוי ממשימות ארוכות במשך חמש שניות לפחות. פירוש הדבר הוא ששלוש משימות של 51 אלפיות השנייה שנפרסות על פני 10 שניות יכולות לדחוף את פונקציית ה-TTI בדיוק עד למשימה אחת של 10 שניות – אבל שני התרחישים האלה ירגישו שונים אצל המשתמש שמנסה לבצע אינטראקציה עם הדף.
במקרה הראשון, זמן השמירה של שלוש, 51 אלפיות השנייה יהיה 3 אלפיות השנייה. לעומת זאת, משימה אחת באורך 10 שניות תהיה עם TBT של 9,950 אלפיות השנייה. ערך TBT גדול יותר במקרה השני מציין את כמות החוויה הגרועה יותר.
בדוגמה הזו אפשר לראות למה המדד TBT הוא בדרך כלל טוב יותר מאשר המד�� 'TTI', כי הוא נוטה להופיע חריגים. זה נכון גם כשמשתמשים ב-TTI כנקודת הקצה של TBT.
איך מודדים TBT
TBT הוא מדד שצריך למדוד בשיעור ה-Lab. הדרך הטובה ביותר למדוד את המדד TBT היא לבצע בדיקת ביצועים של Lighthouse באתר. פרטים נוספים זמינים במסמכי התיעוד של Lighthouse בנושא TBT.
כלים לשיעור Lab
מהו ציון TBT טוב?
כדי לספק חוויית משתמש טובה, מומלץ שזמן החסימה הכולל יהיה קצר מ-200 אלפיות השנייה כאשר הוא נבדק בחומרה ממוצעת לנייד.
לקבלת פרטים נוספים על ההשפעה של TBT בדף שלכם על ציון הביצועים ב-Lighthouse, ניתן לעיין במאמר איך נקבע הציון של TBT ב-Lighthouse.
איך משפרים את TBT
כדי ללמוד איך לשפר את TBT באתר ספציפי, תוכלו לבצע בדיקת ביצועים של Lighthouse ולשים לב להזדמנויות ספציפיות שהביקורת מציעה.
כדי לקבל מידע נוסף על שיפור TBT באופן כללי (בכל אתר), אפשר לעיין במדריכים הבאים בנושא ביצועים: