Dữ liệu Field so với Dữ liệu Lab: Tại sao hầu hết các tranh luận về Core Web Vitals đều thất bại
Hầu hết các tranh luận về hiệu năng xảy ra vì mọi người sử dụng sai tập dữ liệu.
Một người nhìn vào kết quả của người dùng thực tế. Một người khác nhìn vào mô phỏng trong phòng thí nghiệm. Cả hai đều đúng. Cả hai đều trả lời cho những câu hỏi khác nhau.
Nếu bạn không thể gọi tên tập dữ liệu của mình, bạn không phải đang chẩn đoán. Bạn chỉ đang tranh cãi mà thôi.
Hiểu sự khác biệt:
- Dữ liệu Field cho bạn biết liệu người dùng thực tế có gặp lỗi trên quy mô lớn hay không. Nó bao gồm cả các điện thoại chậm và dịch vụ mạng di động kém.
- Dữ liệu Lab cho bạn biết tại sao họ gặp lỗi. Nó cung cấp các vết (traces) được kiểm soát và các bài kiểm tra có thể lặp lại.
Các chỉ số Core Web Vitals như LCP, INP và CLS là các chỉ số kết quả (outcome metrics). Chúng cho bạn biết điều gì đã xảy ra, chứ không phải tại sao.
Đừng sử dụng số trung bình. Hãy sử dụng bách phân vị thứ 75 (75th percentile). Một trang web có thể mang lại cảm giác nhanh đối với bạn nhưng vẫn bị đánh giá thấp vì bách phân vị thứ 75 tính đến cả các mạng chậm và thiết bị yếu.
Sử dụng trình tự này để giải quyết các vấn đề hiệu năng:
- Dữ liệu Field: Xác nhận vấn đề có tồn tại và tìm phạm vi của nó.
- Dữ liệu Lab: Cô lập một nguyên nhân mà bạn có thể kiểm tra.
- Dữ liệu Field: Xác nhận việc khắc phục dựa trên bằng chứng ban đầu của bạn.
Đối chiếu các khẳng định với bằng chứng:
- Nếu người dùng gặp lỗi: Kiểm tra các xu hướng trong Search Console.
- Nếu nguyên nhân là do một template: Tìm kiếm các lỗi trên các URL tương tự.
- Nếu LCP chậm do máy chủ: Sử dụng các vết lab (lab traces) để tìm các phản hồi tài liệu (doc responses) bị trễ.
- Nếu INP không đạt: Sử dụng DevTools để tìm các tác vụ dài (long tasks).
- Nếu một bản phát hành gây ra sự sụt giảm hiệu năng (regression): Đối chiếu thời gian với nhật ký triển khai (deploy logs) của bạn.
Đừng chỉ dựa vào một lần chạy Lighthouse duy nhất. Đừng dùng các bài kiểm tra trên máy tính để giải thích cho các lỗi trên thiết bị di động. Đừng dùng câu "cảm giác nhanh hơn" để làm bằng chứng.
Thực hiện theo các bước sau:
- Gọi tên tập dữ liệu của bạn trong một câu.
- Xác nhận phạm vi. Hãy giả định đó là vấn đề của template cho đến khi bạn chứng minh được điều ngược lại.
- Xác định rào cản. Đó là do máy chủ, đường dẫn kết xuất (render path), hay do bên thứ ba?
- Chạy bài kiểm tra nhỏ nhất có thể để chứng minh giả thuyết của bạn là sai.
Sử dụng dữ liệu Lab để tìm điểm nghẽn (bottleneck). Sử dụng dữ liệu Field để chứng minh điểm nghẽn đã được loại bỏ.
