Tối ưu hóa hạn mức

Mọi ứng dụng sử dụng API Display & Video 360 đều phải tối ưu hoá hạn mức. Việc tối ưu hoá mức sử dụng hạn mức sẽ cải thiện hiệu suất bằng cách đơn giản hoá các yêu cầu API và giúp bạn tránh lỗi được trả về khi vượt quá giới hạn tốc độ đã đặt.

Trang này trình bày chi tiết các phương pháp hay nhất chung và nêu bật các tính năng bổ sung trong API Display & Video 360 có thể giúp giảm mức sử dụng hạn mức của bạn.

Tạo yêu cầu đồng thời cho nhiều nhà quảng cáo

Phần lớn các phương thức trong API Display & Video 360 chỉ định một nhà quảng cáo trong URL. Ngoài hạn mức trên toàn dự án, các phương thức này còn phải tuân thủ giới hạn tỷ lệ"trên mỗi nhà quảng cáo trên mỗi dự án" nghiêm ngặt hơn khi thực hiện lệnh gọi chỉ định cùng một nhà quảng cáo.

Để tối ưu hoá cho hạn mức này, hãy giới hạn các yêu cầu đồng thời ở những yêu cầu chỉ định nhà quảng cáo khác nhau.

Sử dụng các tham số pageSize, filterorderBy

Sử dụng phương thức list thay vì phương thức get khi truy xuất nhiều tài nguyên. Do các giới hạn về kích thước trang, các lệnh gọi list vẫn có thể tiêu tốn nhiều hạn mức.

Tối ưu hoá tất cả các yêu cầu list bằng cách đặt tham số pageSize thành giá trị tối đa được phép. Kích thước trang mặc định của một phương thức, được dùng khi không đặt tham số, có thể nhỏ hơn giá trị tối đa cho phép và yêu cầu nhiều yêu cầu hơn để truy xuất danh sách tài nguyên đầy đủ.

Nếu chỉ cần truy xuất một phần của phản hồi danh sách đầy đủ, bạn có thể tối ưu hoá việc sử dụng hạn mức bằng cách tận dụng các tham số filterorderBy không bắt buộc.

Tham số filter cho phép bạn hạn chế các tài nguyên được truy xuất bằng lệnh gọi list cho những tài nguyên có thuộc tính tuân theo biểu thức đã cho. Tham số này sẽ hữu ích khi bạn cố gắng truy xuất:

  • Một tài nguyên cụ thể có mã nhận dạng không xác định nhưng có các thuộc tính đã biết. Nếu tìm kiếm một tài nguyên cụ thể, bạn có thể lọc danh sách được trả về theo các thuộc tính đã biết của tài nguyên mong muốn. Ví dụ: lọc mục hàng theo displayName đã biết, mẫu quảng cáo theo creativeType dự kiến và nguồn khoảng không quảng cáo theo exchange có liên quan.
  • Tài nguyên liên kết. Các tài nguyên trong Display & Video 360 thường được liên kết với nhau. Bạn có thể sử dụng bộ lọc để hạn chế các tài nguyên được trả về ở những tài nguyên có mối quan hệ cụ thể với một tài nguyên khác. Ví dụ: truy xuất tất cả đơn đặt hàng quảng cáo bên dưới một campaignId cụ thể và tất cả mẫu quảng cáo được chỉ định cho một mục hàng.
  • Chỉ những tài nguyên có thuộc tính có thể hành động. Chức năng API cho phép bạn dễ dàng kiểm tra trạng thái của tài nguyên và phản ứng theo phương thức lập trình. Khi sử dụng bộ lọc, bạn có thể sử dụng lệnh gọi list để chỉ lấy các tài nguyên cần thực hiện hành động. Ví dụ: truy xuất tất cả mục hàng hiển thị một lineItemWarningMessage có thể hành động nhất định, tất cả đơn đặt hàng quảng cáo đã được cập nhật kể từ một ngày giờ nhất định hoặc tất cả mẫu quảng cáoapprovalStatus không thành công.

Tham số orderBy cho phép bạn sắp xếp các tài nguyên được truy xuất theo các thuộc tính cụ thể, tăng dần hoặc giảm dần. orderBy, đặc biệt là khi được sử dụng cùng với filter, có thể được dùng để giới hạn số lượng trang cần duyệt qua trước khi tìm thấy một tài nguyên cụ thể. Phương thức này cũng cho phép bạn dễ dàng lấy giới hạn trên và giới hạn dưới của danh sách tài nguyên. Ví dụ: việc sắp xếp theo updateTime sẽ cho phép bạn nhanh chóng tìm thấy mục hàng hoặc đơn đặt hàng quảng cáo mới cập nhật nhất của một nhà quảng cáo.

Sử dụng các hàm hàng loạt và trên toàn tài nguyên

API Display & Video 360 cung cấp một số hàm trên toàn tài nguyên và hàng loạt để thực thi nhiều thao tác bằng một yêu cầu duy nhất. Sau đây là một số ví dụ về các loại hàm này:

  • Chỉnh sửa hàng loạt trang web thuộc một kênh. Một kênh có thể được chỉ định hàng nghìn trang web. Thay vì quản lý danh sách trang web của một kênh bằng các yêu cầu create hoặc delete riêng lẻ, bạn có thể sử dụng một yêu cầu bulkEdit hoặc replace để thêm và xoá nhiều trang web hoặc thay thế toàn bộ nội dung của một kênh.
  • Quản lý toàn bộ bộ công cụ nhắm mục tiêu của một nhà quảng cáo. Bộ nhắm mục tiêu của tài nguyên được chỉ định trên nhiều loại nhắm mục tiêu. Các hàm nhắm mục tiêu cấp tài nguyên, chẳng hạn như listAssignedTargetingOptionseditAssignedTargetingOptions trong dịch vụ advertisers, cho phép bạn truy xuất, tạo và xoá tiêu chí nhắm mục tiêu trên nhiều loại tiêu chí nhắm mục tiêu trong một yêu cầu. Điều này làm giảm chi phí hạn mức khi đặt bộ tiêu chí nhắm mục tiêu của nhà quảng cáo thành một yêu cầu.
  • Đặt cùng một quy định hạn chế nhắm mục tiêu trên nhiều mục hàng. Nếu bạn cần thực hiện cùng một thay đổi về tiêu chí nhắm mục tiêu trên nhiều mục hàng cùng một lúc, bạn có thể thực hiện việc này bằng một yêu cầu advertisers.lineItems.bulkEditAssignedTargetingOptions duy nhất.
  • Kích hoạt hoặc tạm dừng nhiều mục hàng. Bạn phải kích hoạt mục hàng sau khi tạo trước khi mục hàng đó bắt đầu phân phát. Nếu đang tạo nhiều mục hàng liên tiếp, bạn có thể kích hoạt tất cả các mục hàng đó bằng một yêu cầu advertisers.lineItems.bulkUpdate. Bạn có thể sử dụng cùng một phương thức này để tạm dừng nhiều mục hàng nhằm ngăn các mục hàng đó phân phát.

Lưu vào bộ nhớ đệm và kiểm tra các mã nhận dạng thường dùng

Nhiều thao tác trong API Display & Video 360 yêu cầu sử dụng mã nhận dạng tài nguyên được truy xuất thông qua chính API, bao gồm cả mã lựa chọn tiêu chí nhắm mục tiêu, mã đối tượng của Google và nhiều mã khác. Để tránh truy xuất mã nhận dạng từ API mỗi khi sử dụng, bạn nên lưu trữ các mã nhận dạng này trên máy.

Tuy nhiên, một số tài nguyên có thể không còn được dùng, bị xoá hoặc không dùng được. Việc cố gắng sử dụng mã nhận dạng cho các tài nguyên này có thể trả về lỗi. Do đó, bạn nên kiểm tra tất cả mã nhận dạng được lưu vào bộ nhớ đệm hằng tuần bằng cách sử dụng phương thức get hoặc list đã lọc thích hợp để xác nhận rằng mã nhận dạng đó vẫn có thể truy xuất và có trạng thái dự kiến.

Triển khai thuật toán thời gian đợi luỹ thừa cho các thao tác chạy trong thời gian dài

Trong khi thăm dò ý kiến để xem một thao tác chạy trong thời gian dài (chẳng hạn như tác vụ tải tệp SDF xuống) đã hoàn tất hay chưa, hãy sử dụng chiến lược thời gian đợi lũy thừa để giảm tần suất và tổng số yêu cầu đã gửi.

Thuật toán thời gian đợi luỹ thừa là một chiến lược xử lý sai số chuẩn cho các ứng dụng mạng, trong đó ứng dụng thực hiện hoạt động thử lại định kỳ đối với các yêu cầu trong khoảng thời gian tăng dần. Nếu được sử dụng đúng cách, thuật toán thời gian đợi luỹ thừa sẽ giúp tăng hiệu quả sử dụng băng thông, giảm số lượng yêu cầu cần thiết để có được phản hồi thành công và tối đa hoá thông lượng yêu cầu trong các môi trường đồng thời.

Bạn có thể tìm thấy chiến lược thời gian đợi luỹ thừa được triển khai bằng thư viện ứng dụng trong ví dụ về mã tải SDF xuống. Quy trình từng bước để triển khai thuật toán thời gian đợi luỹ thừa đơn giản như sau:

  • Tạo yêu cầu sdfdownloadtasks.operations.get cho API.
  • Truy xuất đối tượng thao tác.
    • Nếu trường done không phải là true, thì tức là bạn nên thử lại yêu cầu.
    • Đợi 5 giây + một số mili giây ngẫu nhiên rồi thử lại yêu cầu.
  • Truy xuất đối tượng thao tác.
    • Nếu trường done không phải là true, thì điều đó cho biết bạn nên thử lại yêu cầu.
    • Đợi 10 giây + một số mili giây ngẫu nhiên rồi thử lại yêu cầu.
  • Truy xuất đối tượng thao tác.
    • Nếu trường done không phải là true, thì điều đó cho biết bạn nên thử lại yêu cầu.
    • Đợi 20 giây + một số mili giây ngẫu nhiên rồi thử lại yêu cầu.
  • Truy xuất đối tượng thao tác.
    • Nếu trường done không phải là true, thì điều đó cho biết bạn nên thử lại yêu cầu.
    • Đợi 40 giây + một số mili giây ngẫu nhiên rồi thử lại yêu cầu.
  • Truy xuất đối tượng thao tác.
    • Nếu trường done không phải là true, thì tức là bạn nên thử lại yêu cầu.
    • Đợi 80 giây + một số mili giây ngẫu nhiên rồi thử lại yêu cầu.
  • Tiếp tục mẫu này cho đến khi đối tượng truy vấn được cập nhật hoặc thời gian tối đa đã trôi qua.