Задержка – это время, которое проходит до получения ответа на запрос. В этом руководстве приведены порядки величин задержек для запросов 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 секунд или больше |
Запросы отчетов различаются больше всего. Задержка зависит от таблицы отчета, к которой вы отправляете запрос, и от объема данных, которые охватывает запрос. Примерно один из десяти запросов отчетов обычно обрабатывается дольше двух секунд, а небольшая часть – дольше минуты.
Рекомендации
- Устанавливайте время ожидания с запасом. Если вы задаете время ожидания запроса в клиенте, оно должно быть значительно больше, чем максимальное время задержки, указанное в разделе Стандартное время задержки. Например, 60-секундный тайм-аут оставляет достаточно времени для большинства запросов, но не для всех запросов отчетов.
- Отправляйте независимые запросы параллельно. Поскольку на каждую запись уходит несколько секунд, последовательная отправка ограничивает пропускную способность. Отправляйте независимые запросы параллельно или используйте пакетные запросы. При отправке нескольких запросов учитывайте ограничения на количество запросов в минуту и дневные ограничения. Подробнее о квотах на частоту запросов…
- Запрашивайте только те данные, которые требуются для анализа. Запросы, охватывающие большие наборы данных, например за длительные периоды времени, выполняются дольше и могут быть прерваны по тайм-ауту. Если вам нужны большие объемы данных, используйте BigQuery. Подробнее о том, как загрузить данные Google Merchant Center в BigQuery…
- Повторите попытку с экспоненциальной выдержкой. Если время ожидания запроса истекло или произошла временная ошибка, повторите попытку с экспоненциальной выдержкой.
Время обработки
Если запрос изменяет данные, успешный ответ означает, что Merchant API принял изменение, но обработка продолжается и после ответа. Время обработки – это время от получения ответа до момента, когда изменение становится видимым в других ресурсах. Время обработки не входит в задержку и может быть намного больше. Например, может пройти несколько минут, прежде чем обработанный товар отразит вставленные входные данные товара.
Дополнительную информацию о конечном состоянии обработанных данных можно найти в следующих руководствах: