延迟时间是指您收到请求响应所需的时间。本指南提供了 Merchant API 请求的数量级延迟时间。使用这些值可设置超时并规划集成的吞吐量。
大多数 Merchant API 请求会在不到一秒的时间内完成。本地和区域商品目录更新可能需要几秒钟,而某些报告查询需要更长时间。
典型延迟时间
下表按请求类型列出了大致延迟时间。典型延迟时间是中位数:一半的请求完成速度更快。最慢的 1% 请求所用时间与最后一列显示的时间一样长或更长。
| 要求类型 | 示例方法 | 典型延迟时间 | 最慢的 1% 的请求 |
|---|---|---|---|
| 商品读取和写入 | products.get、productInputs.insert、productInputs.patch、productInputs.delete |
100 到 600 毫秒 | 大约 2 秒 |
| 大多数其他请求 | products.list、accounts.get、dataSources.list、aggregateProductStatuses.list |
不到 1 秒 | 几秒 |
| 本地和区域级商品目录写入 | localInventories.insert、regionalInventories.insert 和相应的 delete 方法 |
几秒 | 10 秒或以上 |
| 报告查询 | accounts.reports.search |
大约半秒 | 30 秒或以上 |
报告查询的变化最大。其延迟时间取决于您查询的报表以及查询涵盖的数据量。大约 10% 的报告查询通常需要超过 2 秒的时间,一小部分查询可能需要超过 1 分钟的时间。
建议
- 设置超时时间时留出余量。如果您在客户端中设置了请求超时,请将其设置为远高于典型延迟时间中列出的最慢延迟时间。例如,60 秒的超时时间为大多数请求留出了充足的时间,但并非所有报告查询都适用。
- 并行发送独立请求。由于每次商品目录写入都需要几秒钟,因此逐个发送会限制吞吐量。并行发送独立请求或使用批量请求。发送多个请求时,请注意每分钟和每日限额。如需了解详情,请参阅速率配额。
- 将报告查询限制为您需要的数据。涵盖大型数据集(例如较长日期范围)的查询需要更长时间,并且可能会超时。如果您需要大量数据,请考虑使用 BigQuery。如需了解详情,请参阅将 Google Merchant Center 数据加载到 BigQuery 中。
- 使用指数退避算法重试。如果请求超时或因暂时性错误而失败,请使用指数退避算法重试。
处理时间
对于更改数据的请求,成功响应意味着 Merchant API 接受了更改,但在响应后会继续处理。处理时间是指从响应到其他资源中显示更改的时间。处理时间不属于延迟时间,并且可能要长得多。例如,处理后的商品可能需要几分钟才能反映插入的商品输入。
如需详细了解数据的最终处理状态,请参阅以下指南: