TBT là gì?
Chỉ số Tổng thời gian chặn (TBT) đo lường tổng thời gian sau Thời gian hiển thị nội dung đầu tiên (FCP), trong đó luồng chính bị chặn đủ lâu để ngăn khả năng phản hồi hoạt động đầu vào.
Theo mặc định, Lighthouse sẽ ngừng theo dõi TBT sau Thời gian tương tác (TTI), cũng như một số công cụ khác trong phòng thí nghiệm đo lường lượt tải trang. Xem bài viết Mối quan hệ giữa TBT và TTI?.
Luồng chính bị coi là "bị chặn" bất cứ khi nào có một Tác vụ dài chạy trên luồng chính trong hơn 50 mili giây. Chúng ta nói luồng chính bị "chặn" vì trình duyệt không thể làm gián đoạn một tác vụ đang diễn ra. Vì vậy, trong trường hợp người dùng thực hiện tương tác với trang khi đang thực hiện một tác vụ dài, trình duyệt sẽ phải đợi tác vụ đó hoàn tất trước khi có thể phản hồi.
Nếu tác vụ đủ dài (bất cứ khoảng thời gian nào dài hơn 50 mili giây), thì có thể người dùng sẽ nhận thấy sự chậm trễ và cho rằng trang đang hoạt động chậm hoặc bị hỏng.
Thời gian chặn của một tác vụ dài nhất định là thời lượng của tác vụ đó vượt quá 50 mili giây. Còn tổng thời gian chặn cho một trang là tổng thời gian chặn cho mỗi tác vụ dài xảy ra sau FCP trong khung thời gian được đo lường (thường là TTI cho các công cụ tải trang hoặc tổng thời gian theo dõi cho các công cụ khác).
Ví dụ: hãy xem xét sơ đồ luồng chính của trình duyệt sau đây trong quá trình tải trang:
Dòng thời gian được mô tả trong hình ảnh trước có 5 tác vụ, trong đó 3 tác vụ là Tác vụ dài vì thời lượng của các tác vụ này vượt quá 50 mili giây. Sơ đồ tiếp theo cho thấy thời gian chặn cho từng tác vụ dài:
Vì vậy, trong khi tổng thời gian chạy các tác vụ trên luồng chính là 560 mili giây, thì chỉ 345 mili giây trong thời gian đó được coi là thời gian chặn.
Thời lượng tác vụ (mili giây) | Thời gian chặn việc cần làm (mili giây) | |
---|---|---|
Nhiệm vụ 1 | 250 | 200 |
Nhiệm vụ 2 | 90 | 40 |
Nhiệm vụ 3 | 35 | 0 |
Nhiệm vụ bốn | 30 | 0 |
Nhiệm vụ 5 | 155 | 105 |
Tổng thời gian chặn | 345 mili giây |
TBT có liên quan như thế nào đến INP?
TBT có trước INP và hữu ích như một chỉ báo cho các vấn đề về INP, đặc biệt trong môi trường phòng thí nghiệm nơi việc đo lường INP khó khăn hơn. Tuy nhiên, TBT có thể gắn cờ các vấn đề tiềm ẩn mà người dùng có thể không gặp phải nếu họ không tương tác vào thời điểm đó. Ngoài ra, mô hình này cũng có thể bỏ lỡ các vấn đề phát sinh do hoạt động tương tác khi được đo lường trong môi trường phòng thí nghiệm. Bạn nên đo lường INP trong trường hợp này để đo lường các vấn đề thực tế về khả năng phản hồi mà người dùng đã gặp phải. TBT có thể là một chỉ số proxy hợp lý cho INP cho phòng thí nghiệm, nhưng bản thân chỉ số này không thay thế cho INP.
TBT có liên quan như thế nào đến TTI?
TBT được đo lường trong một khoảng thời gian. Đối với một số công cụ trong phòng thí nghiệm thường đo lường lượt tải trang như Lighthouse, TBT đã được đo lường cho đến TTI vì công cụ này giúp định lượng mức độ nghiêm trọng của mức độ không tương tác trước khi một trang trở nên tương tác đáng tin cậy. Tuy nhiên, bạn cũng có thể tiếp tục đo lường TBT sau khi tải trang và ngoài TTI, ví dụ: ở chế độ Khoảng thời gian Lighthouse.
TTI coi một trang là "tương tác đáng tin cậy" nếu luồng chính không có các tác vụ dài trong ít nhất 5 giây. Điều này có nghĩa là ba tác vụ 51 mili giây trải dài trong 10 giây có thể đẩy TTI tương đương với một tác vụ dài 10 giây – nhưng hai tình huống đó sẽ tạo cảm giác rất khác biệt đối với người dùng đang cố gắng tương tác với trang.
Trong trường hợp đầu tiên, 3 tác vụ có thời lượng 51 mili giây sẽ có TBT là 3 mili giây. Trong khi đó, một tác vụ dài 10 giây sẽ có TBT là 9950 mili giây. Giá trị TBT lớn hơn trong trường hợp thứ hai đo lường trải nghiệm kém hơn.
Ví dụ này cho thấy lý do khiến TBT thường là chỉ số tốt hơn TTI vì ít khi xảy ra các điểm ngoại lai. Trường hợp này xảy ra khi TTI được dùng làm điểm cuối cho TBT.
Cách đo TBT
TBT là một chỉ số cần được đo lường trong phòng thí nghiệm. Cách tốt nhất để đo lường TBT là chạy quy trình kiểm tra hiệu suất của Lighthouse trên trang web của bạn. Hãy xem tài liệu về Lighthouse trên TBT để biết chi tiết về cách sử dụng.
Bạn có thể đo lường TBT tại trường này, nhưng bạn không nên thực hiện việc này vì hoạt động tương tác của người dùng có thể ảnh hưởng đến TBT của trang theo những cách dẫn đến sự khác biệt lớn trong báo cáo. Thay vào đó, bạn nên xem API Khung ảnh động dài mới trong trường hợp này nếu muốn xem xét nhiều hơn một tương tác INP.
Công cụ của Labs
Điểm TBT tốt là gì?
Để cung cấp trải nghiệm tốt cho người dùng, các trang web nên cố gắng đạt Tổng thời gian chặn dưới 200 mili giây khi thử nghiệm trên phần cứng trung bình dành cho thiết bị di động.
Để biết thông tin chi tiết về mức độ ảnh hưởng của TBT trên trang của bạn đến điểm hiệu suất Lighthouse, hãy xem Cách Lighthouse xác định điểm TBT của bạn
Cách cải thiện tính năng TBT
Nhìn chung, bạn nên tối ưu hoá cho INP thay vì TBT vì chúng tôi đề xuất sử dụng TBT là chỉ số proxy cho INP trong phòng thí nghiệm (nơi thường không thể đo lường chính xác INP). Do đó, để cải thiện TBT, hãy xem hướng dẫn của chúng tôi về cách Tối ưu hoá INP.
Nếu đang xem xét cụ thể TBT, bạn có thể chạy quy trình kiểm tra hiệu suất Lighthouse và chú ý đến mọi cơ hội cụ thể mà quy trình kiểm tra đó đề xuất.
Nhìn chung, việc cải thiện TBT cho một trang web bao gồm việc giảm số lượng tập lệnh chặn, tức là tối ưu hoá các tập lệnh đó để ít bị chặn hơn hoặc giảm tổng số tập lệnh. Hãy tham khảo các hướng dẫn về hiệu suất sau đây: