Lên kế hoạch cho độ trễ của API

Độ trễ là thời gian cho đến khi bạn nhận được phản hồi cho một yêu cầu. Hướng dẫn này cung cấp độ trễ theo cấp độ lớn cho các yêu cầu Merchant API. Hãy sử dụng các giá trị này để đặt thời gian chờ và lập kế hoạch cho thông lượng của quá trình tích hợp.

Hầu hết các yêu cầu Merchant API đều hoàn tất trong chưa đầy một giây. Quá trình cập nhật kho hàng tại địa phương và khu vực có thể mất vài giây, còn một số truy vấn báo cáo thì mất nhiều thời gian hơn.

Độ trễ thông thường

Bảng sau đây liệt kê độ trễ ước tính theo loại yêu cầu. Độ trễ thông thường là trung vị: một nửa số yêu cầu hoàn tất nhanh hơn. 1% yêu cầu chậm nhất mất nhiều thời gian như trong cột cuối cùng hoặc lâu hơn.

Loại yêu cầu Ví dụ về phương thức Độ trễ thông thường 1% yêu cầu chậm nhất
Quyền đọc và ghi sản phẩm products.get, productInputs.insert, productInputs.patch, productInputs.delete 100 đến 600 mili giây Khoảng 2 giây
Hầu hết các yêu cầu khác products.list, accounts.get, dataSources.list, aggregateProductStatuses.list Dưới 1 giây Vài giây
Ghi kho hàng tại địa phương và khu vực localInventories.insert, regionalInventories.insert và các phương thức delete tương ứng Vài giây 10 giây trở lên
Truy vấn báo cáo accounts.reports.search Khoảng nửa giây 30 giây trở lên

Truy vấn báo cáo có sự khác biệt lớn nhất. Độ trễ của các bảng này phụ thuộc vào bảng báo cáo mà bạn truy vấn và lượng dữ liệu mà truy vấn đó bao gồm. Khoảng 1/10 truy vấn báo cáo thường mất hơn 2 giây và một phần nhỏ có thể mất hơn một phút.

Đề xuất

  • Đặt thời gian chờ có khoảng trống. Nếu bạn đặt thời gian chờ yêu cầu trong ứng dụng, hãy đặt thời gian chờ cao hơn nhiều so với độ trễ chậm nhất được liệt kê trong phần Độ trễ thông thường. Ví dụ: thời gian chờ 60 giây là đủ cho hầu hết các yêu cầu, nhưng không đủ cho tất cả các truy vấn báo cáo.
  • Gửi các yêu cầu độc lập song song. Vì mỗi lần ghi khoảng không quảng cáo mất vài giây, nên việc gửi lần lượt từng yêu cầu sẽ giới hạn thông lượng của bạn. Gửi các yêu cầu độc lập song song hoặc sử dụng yêu cầu theo lô. Khi gửi nhiều yêu cầu, hãy lưu ý đến giới hạn hằng ngày và giới hạn mỗi phút. Để biết thêm thông tin, hãy xem phần Hạn mức tốc độ.
  • Giới hạn truy vấn báo cáo đối với dữ liệu bạn cần. Các truy vấn bao gồm tập dữ liệu lớn, chẳng hạn như phạm vi ngày dài, sẽ mất nhiều thời gian hơn và có thể hết thời gian chờ. Nếu bạn cần lượng dữ liệu lớn, hãy cân nhắc sử dụng BigQuery. Để biết thêm thông tin, hãy xem bài viết Tải dữ liệu của Google Merchant Center vào BigQuery.
  • Thử lại với thời gian đợi luỹ thừa. Nếu yêu cầu hết thời gian chờ hoặc không thành công do lỗi tạm thời, hãy thử lại bằng thuật toán thời gian đợi luỹ thừa.

Thời gian xử lý

Đối với các yêu cầu thay đổi dữ liệu, phản hồi thành công có nghĩa là Merchant API đã chấp nhận thay đổi, nhưng quá trình xử lý vẫn tiếp tục sau khi phản hồi. Thời gian xử lý là thời gian từ khi có phản hồi cho đến khi thay đổi xuất hiện trong các tài nguyên khác. Thời gian xử lý không nằm trong độ trễ và có thể lâu hơn nhiều. Ví dụ: Có thể mất vài phút để sản phẩm đã xử lý phản ánh thông tin đầu vào của sản phẩm được chèn.

Để biết thêm thông tin về trạng thái xử lý cuối cùng của dữ liệu, hãy xem các hướng dẫn sau: