Tìm hiểu xem việc tải tài nguyên của bên thứ ba có thể tăng doanh thu như thế nào nhanh hơn.
Nghiên cứu điển hình này nhấn mạnh việc cải thiện hiệu suất của các tài nguyên của bên thứ ba có thể thúc đẩy các chỉ số kinh doanh như thế nào. Mặc dù nghiên cứu trước đây đã đo lường chi phí tăng thêm độ trễ quảng cáo, nhưng nghiên cứu này cho thấy giá trị của việc cải thiện hiệu suất thực tế:
0,5%
Tăng doanh thu cho nhà xuất bản
2%
Mức tăng về số lượt tải tập lệnh quảng cáo sớm
Nguồn: Dữ liệu nội bộ của Google, từ tháng 6 đến tháng 7 năm 2019.
Thông tin khái quát
Thẻ nhà xuất bản của Google (GPT) là tập lệnh gắn thẻ quảng cáo cho Google Ad Manager, có tác dụng yêu cầu và hiển thị quảng cáo hiển thị trên web. Bằng cách triển khai một tiêu đề HTTP stale-while-revalidate
đơn giản cho GPT, nhóm GPT có thể cải thiện tốc độ và hiệu suất của quảng cáo hiển thị của Google cho các đối tác nhà xuất bản của mình. Bạn cũng có thể áp dụng kỹ thuật tương tự này cho bất kỳ trường hợp nào khác, trong đó việc tải tập lệnh nhanh nhất có thể quan trọng hơn việc tải mã mới nhất.
Vấn đề
GPT được triển khai dưới dạng tập lệnh tự khởi động gpt.js
. Tập lệnh này có thời gian tồn tại ngắn (TTL) là 15 phút. TTL ngắn này cho phép cập nhật hoặc hoàn nguyên tập lệnh nhanh chóng. Sau khi tải, gpt.js
sẽ yêu cầu và tải thêm các tập lệnh triển khai có TTL dài hơn.
Sau khi hết thời gian TTL 15 phút, phiên bản gpt.js
trong bộ nhớ đệm sẽ lỗi thời và cần được xác thực lại. Trước đây, quy trình xác thực lại này bao gồm việc thực hiện một yêu cầu mạng đồng bộ để tìm nạp bản sao mới của tập lệnh, thêm độ trễ cho yêu cầu quảng cáo đầu tiên.
Giải pháp
Thuộc tính stale-while-revalidate
được tiêu đề Cache-Control
sử dụng và xác định thêm một khoảng thời gian mà trong đó bộ nhớ đệm có thể sử dụng thành phần cũ trong khi thành phần được xác thực lại theo cách không đồng bộ. Điều này giúp nhà phát triển cân bằng giữa tính tức thì (tải nội dung được lưu vào bộ nhớ đệm ngay lập tức) và
độ mới mẻ—đảm bảo bản cập nhật cho nội dung được lưu vào bộ nhớ đệm được sử dụng trong tương lai.
Nghiên cứu điển hình về quảng cáo hiển thị của Google
Nhóm GPT đã thêm tiêu đề Cache-Control
này vào phản hồi HTTP gpt.js
vào năm 2016, để dự đoán các trình duyệt triển khai stale-while-revalidate
:
cache-control: private, max-age=900, stale-while-revalidate=3600
Chế độ cài đặt này có nghĩa là nếu gpt.js
được yêu cầu sau 15 đến 60 phút kể từ giá trị đã lưu vào bộ nhớ đệm trước đó, thì giá trị đã lưu vào bộ nhớ đệm sẽ vẫn được dùng để thực hiện yêu cầu ngay cả khi đã lỗi thời. Đồng thời, yêu cầu xác thực lại sẽ được thực hiện trong nền để điền giá trị mới vào bộ nhớ đệm nhằm sử dụng trong tương lai.
Chrome đã triển khai stale-while-revalidate
trong phiên bản 75 lên 99% trong tổng số lưu lượng truy cập, để lại 1% lưu lượng truy cập có tính năng bị tắt tạm thời để đo lường tác động của tính năng này. Nhóm GPT đã ghi lại các chỉ số từ 1% này (nhóm thử nghiệm) và 1% mẫu lưu lượng truy cập có bật tính năng này (nhóm đối chứng) để kiểm tra mức độ hiệu quả của stale-while-revalidate
đối với tập lệnh quảng cáo. Trong quá trình 2 tuần với các chỉ số được ghi lại từ kích thước mẫu 5,2 tỷ lần hiển thị quảng cáo hiển thị hình ảnh của Google, nhóm đối chứng quan sát thấy:
- Tăng 0,3% số lượt hiển thị quảng cáo.
- Doanh thu tăng 0,5%.
- Tăng 2% số lượt tải tập lệnh quảng cáo sớm (dưới 500 mili giây tính từ lúc bắt đầu tải trang).
- Tăng 1,1% tổng số lượt tải tập lệnh quảng cáo thành công.
Như hiển thị trong biểu đồ ở trên, kết quả của thử nghiệm này có thể là do số lượt tải tập lệnh quảng cáo thành công tăng lên, trong đó phần lớn xảy ra sớm trong quá trình tải trang.
Triển khai tính năng cũ trong khi xác thực lại trên trang web của bạn
Nhóm GPT đã nhận thấy rằng việc thực hiện một thay đổi tương đối đơn giản đối với tiêu đề HTTP bằng stale-while-revalidate
có thể cải thiện tốc độ và tăng các chỉ số kinh doanh. Hãy xem bài đăng Luôn làm mới nội dung bằng tính năng cũ trong khi xác thực lại để biết thêm thông tin về cách triển khai stale-while-revalidate
trên trang web của bạn.