Improving Homepage Performance
Bài tóm tắt Zillow 2015 2. Tăng trưởng Độ khó: Dễ
Zillow · 2015 · 2. Tăng trưởng · Độ khó: Dễ — bài gốc
Bối cảnh
- Làm lại trang chủ Zillow (2015, do một thực tập sinh làm). Chỉ số hiệu năng chọn theo cảm nhận: một mốc User Timing khi ảnh hero vẽ xong.
- Trang chủ desktop cũ nạp ảnh hero bằng module JS (để có hiệu ứng marquee), nên phải chờ document xong.
Thay đổi chính
- Ảnh hero thành background tĩnh (như bản mobile), bỏ marquee.
- Đặt style background inline trong HTML thay vì trong file CSS, để trình duyệt yêu cầu ảnh mà không chờ parse CSS.
- Thêm một thẻ
<img>ẩn trỏ cùng ảnh để trình duyệt ưu tiên tải (ảnh trong thẻ img được ưu tiên hơn background): thời gian tới lúc yêu cầu ảnh giảm 85%. - Nén ảnh ở mức khoảng 85%: số byte ảnh giảm 50%.
- Phần dưới màn hình và các tab khác tải bất đồng bộ sau khi phần chính xong; chỉ gọi AJAX cho tab có nội dung khác (giảm một nửa số request).
- Kết quả: mốc hero nhanh hơn 67% (mục tiêu 25%).
Vì sao
- Đo theo thứ người dùng thấy, rồi dồn tối ưu vào đường găng của đúng thứ đó (Kiến trúc frontend).
Bài học cho SWE
- Chọn một chỉ số cảm nhận cụ thể cho từng trang trước khi tối ưu.
- Biết trình duyệt ưu tiên tài nguyên ra sao có thể đem lại cải thiện lớn hơn mọi tối ưu server.
Liên quan
#Hero image#user timing mark#inline style#hidden img preload#image compression#async below-the-fold#perceived performance
Được nhắc tới trong
Chủ đề (1)
Công ty (1)
Bài tóm tắt (2)