Tìm hiểu cách tải tài nguyên của bên thứ ba nhanh hơn có thể giúp tăng doanh thu.
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ù một nghiên cứu trước đây đã đo lường chi phí của độ trễ quảng cáo gia tăng, 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 trong 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, 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, 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ó thể áp dụng kỹ thuật tương tự cho mọi trường hợp khác mà 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 khởi động, gpt.js
, 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 khôi phục tập lệnh một cách nhanh chóng. Sau khi tải, gpt.js
sẽ yêu cầu và tải các tập lệnh triển khai bổ sung 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 liên quan đến việc tạo 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, làm tăng độ 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 trong đó bộ nhớ đệm có thể sử dụng một thành phần cũ trong khi thành phần đó được xác thực lại một 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 đã lưu trong bộ nhớ đệm ngay lập tức) và tính mới mẻ (đảm bảo nội dung cập nhật được lưu trong bộ nhớ đệm sẽ đượ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 trong khoảng từ 15 đến 60 phút sau giá trị được lưu vào bộ nhớ đệm trước đó, thì giá trị được lưu vào bộ nhớ đệm sẽ được dùng để thực hiện yêu cầu đó ngay cả khi giá trị đó đã 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) cũng như 1% mẫu lưu lượng truy cập đã bật tính năng này (nhóm đối chứng) để kiểm thử hiệu quả của stale-while-revalidate
cho 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 stale-while-revalidate trên trang web của bạn
Nhóm GPT nhận thấy rằng việc 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 Giữ cho nội dung luôn mới mẻ bằng tính năng stale-while-revalidate để biết thêm thông tin về cách triển khai stale-while-revalidate
trên trang web của riêng bạn.