זמן החסימה הכולל (TBT)

פיליפ וולטון
פיליפ וולטון

מהו TBT?

המדד 'זמן חסימה כולל' (TBT) מודד את משך הזמן הכולל אחרי הצגת תוכן ראשוני (FCP), שבו ה-thread הראשי נחסם למשך מספיק זמן כדי למנוע תגובות לקלט.

כברירת מחדל, מערכת Lighthouse מפסיקה לעקוב אחר נתוני TBT לאחר הזמן שחלף מהקליק להמרה (TTI), וכך גם כלים אחרים לשיעור ה-Lab שמודדים טעינת דפים. מה הקשר בין TBT ל-TTI?

ה-thread הראשי נחשב ל'חסום' בכל פעם שיש משימה ארוכה – משימה שרצה ב-thread הראשי למשך יותר מ-50 אלפיות השנייה. אנחנו אומרים שה-thread הראשי 'חסום' כי הדפדפן לא יכול להפריע למשימה בתהליך. לכן, במקרה שמשתמש כן מקיים אינטראקציה עם הדף באמצע משימה ארוכה, הדפדפן צריך להמתין לסיום המשימה לפני שיוכל להגיב.

אם המשימה ארוכה מספיק (כל מה שאורכו עולה על 50 אלפיות שנייה), סביר להניח שהמשתמש יבחין בעיכוב ויראה את הדף איטי או רעוע.

זמן החסימה של משימה ארוכה נתונה הוא משך הזמן שלה יותר מ-50 אלפיות השנייה. בנוסף, זמן החסימה הכולל של דף הוא הזמן הכולל של זמן החסימה לכל משימה ארוכה שמתרחשת אחרי ה-FCP במסגרת הזמן שנמדדת (בדרך כלל TTI לכלים לטעינת דף, או זמן המעקב הכולל לכלים אחרים).

לדוגמה, במהלך טעינת הדף, עיין בתרשים הבא של ה-thread הראשי של הדפדפן:

ציר זמן של משימות ב-thread הראשי

בציר הזמן שלמעלה יש חמש משימות, ששלוש מהן 'משימות ארוכות' כי משך הזמן שלהן חורג מ-50 אלפיות השנייה. בתרשים הבא מוצג זמן החסימה של כל אחת מהמשימות הארוכות:

ציר זמן של משימות ב-thread הראשי, שבו מוצג זמן החסימה

כך שזמן ההפעלה הכולל של משימות ב-thread הראשי הוא 560 אלפיות השנייה, אבל רק 345 אלפיות השנייה מהזמן הזה נחשב לחסימה.

משך המשימה משך החסימה של המשימה
משימה ראשונה 250 אלפיות השנייה 200 אלפיות השנייה
משימה שנייה 90 אלפיות השנייה 40 אלפיות השנייה
משימה שלישית 35 אלפיות השנייה 0 אלפיות שנייה
משימה רביעית 30 אלפיות השנייה 0 אלפיות שנייה
משימה חמש 155 אלפיות השנייה 105 אלפיות השנייה
זמן החסימה הכולל 345 אלפיות השנייה

מה הקשר בין TBT לבין TTI?

TBT נמדד במהלך תקופת זמן. בחלק מהכלים לשיעור ה-Lab, שלפי המסורת מודדים טעינות דפים, כולל Lighthouse, נמדדו TBT עד 'TTI', מפני שהוא עוזר לכמת את מידת החומרה של הדפים שאינם אינטראקטיביים, לפני שהוא הופך לאינטראקטיבי באופן מהימן. עם זאת, ניתן יהיה להמשיך למדוד TBT גם לאחר טעינת דף, וכן לאחר מכן מעבר ל-TTI, למשל, במצב Lighthouse Timespan.

TTI מחשיב דף כ'אינטראקטיבי אמין' אם ה-thread הראשי לא היה פנוי ממשימות ארוכות במשך חמש שניות לפחות. המשמעות היא ששלוש משימות של 51 אלפיות השנייה שנפרסות על פני 10 שניות יכולות לדחוף את TTI בדיוק עד משימה אחת באורך של 10 שניות, אבל שני התרחישים האלה ירגישו שונים מאוד ממשתמש שמנסה לקיים אינטראקציה עם הדף.

במקרה הראשון, לשלוש משימות באורך של 51 אלפיות השנייה יהיה TBT של 3 אלפיות שנייה. לעומת זאת, במשימות בודדות שאורכן 10 שניות יהיה TBT של 9, 950 אלפיות שנייה. ה-TBT הגדול יותר במקרה השני מכמת את החוויה הגרועה יותר.

בדוגמה הזו אפשר לראות למה TBT הוא בדרך כלל מדד טוב יותר מ-TTI, כי הוא נוטה להיות פחות יוצא דופן. הדבר נכון גם כאשר TTI משמש כנקודת הקצה עבור TBT.

איך מודדים TBT

TBT הוא מדד שצריך למדוד בשיעור ה-Lab. הדרך הטובה ביותר למדוד את נתוני TBT היא לבצע בדיקת ביצועים של Lighthouse באתר שלכם. למידע נוסף על השימוש, עיינו במשאבי העזרה של Lighthouse בנושא TBT.

כלי מעבדה

מהו ציון TBT טוב?

כדי לספק חוויית משתמש טובה, אתרים צריכים לשאוף לזמן חסימה כולל של פחות מ-200 אלפיות השנייה, אם הם נבדקים בחומרה ממוצעת לנייד.

לפרטים על ההשפעה של TBT על ציון הביצועים ב-Lighthouse, קראו את המאמר איך מערכת Lighthouse קובעת את ציון ה-TBT

איך לשפר את TBT

כדי ללמוד איך לשפר את ה-TBT באתר ספציפי, תוכלו להריץ בדיקת ביצועים של Lighthouse ולשים לב להזדמנויות ספציפיות שמופיעות בביקורת.

במדריכי הביצועים הבאים תוכלו לקרוא איך לשפר את TBT באופן כללי (לכל אתר):