Czas oczekiwania to czas, jaki upływa od wysłania żądania do otrzymania odpowiedzi. Ten przewodnik zawiera informacje o rzędach wielkości opóźnień w przypadku żądań do interfejsu Merchant API. Użyj tych wartości, aby ustawić limity czasu i zaplanować przepustowość integracji.
Większość żądań do interfejsu Merchant API jest realizowana w czasie krótszym niż sekunda. Aktualizacja lokalnego i regionalnego asortymentu może potrwać kilka sekund, a niektóre zapytania do raportu mogą potrwać znacznie dłużej.
Typowe opóźnienia
W tabeli poniżej znajdziesz przybliżone czasy oczekiwania według typu żądania. Typowy czas oczekiwania to mediana: połowa żądań jest realizowana szybciej. Najwolniejszy 1% żądań trwa co najmniej tyle, ile podano w ostatniej kolumnie.
| Typ prośby | Przykładowe metody | Typowy czas oczekiwania | Najwolniejszy 1% żądań |
|---|---|---|---|
| Odczyty i zapisy produktów | products.get, productInputs.insert, productInputs.patch, productInputs.delete |
100–600 milisekund | Około 2 sekund |
| Większość innych próśb | products.list, accounts.get, dataSources.list, aggregateProductStatuses.list |
Krócej niż 1 s | kilka sekund, |
| Zapisy lokalnego i regionalnego asortymentu | localInventories.insert, regionalInventories.insert i odpowiednie metody delete |
kilka sekund, | Co najmniej 10 sekund |
| Zapytania o raporty | accounts.reports.search |
Około pół sekundy | Co najmniej 30 sekund |
Najbardziej różnią się zapytania o raporty. Czas oczekiwania zależy od tabeli raportu, do której wysyłasz zapytanie, oraz od ilości danych, które obejmuje zapytanie. Około 1 na 10 zapytań o raport trwa zwykle dłużej niż 2 sekundy, a niewielka część może trwać dłużej niż minutę.
Rekomendacje
- Ustaw limity czasu z zapasem. Jeśli ustawisz limity czasu żądań w kliencie, ustaw je znacznie powyżej najwolniejszych czasów oczekiwania wymienionych w sekcji Typowe czasy oczekiwania. Na przykład 60-sekundowy limit czasu zapewnia wystarczającą ilość czasu na większość żądań, ale nie na wszystkie zapytania dotyczące raportów.
- Wysyłaj niezależne żądania równolegle. Zapisywanie stanu magazynowego zajmuje kilka sekund, więc wysyłanie ich jeden po drugim ogranicza przepustowość. Wysyłaj niezależne żądania równolegle lub używaj żądań zbiorczych. Wysyłając wiele żądań, pamiętaj o limitach na minutę i limitach dziennych. Więcej informacji znajdziesz w artykule o limitach liczby żądań.
- Ogranicz zapytania do raportu do danych, których potrzebujesz. Zapytania, które obejmują duże zbiory danych, np. długie zakresy dat, trwają dłużej i mogą przekroczyć limit czasu. Jeśli potrzebujesz dużych ilości danych, rozważ użycie BigQuery. Więcej informacji znajdziesz w artykule Wczytywanie danych Google Merchant Center do BigQuery.
- Podejmij ponowne próby ze wzrastającym czasem do ponowienia. Jeśli żądanie przekroczy limit czasu lub nie powiedzie się z powodu błędu przejściowego, spróbuj ponownie, stosując wzrastający czas do ponowienia.
Czas przetwarzania
W przypadku żądań, które zmieniają dane, odpowiedź o powodzeniu oznacza, że interfejs Merchant API zaakceptował zmianę, ale przetwarzanie jest kontynuowane po odpowiedzi. Czas przetwarzania to czas od odpowiedzi do momentu, gdy zmiana stanie się widoczna w innych zasobach. Czas przetwarzania nie jest częścią opóźnienia i może być znacznie dłuższy. Na przykład może minąć kilka minut, zanim przetworzony produkt będzie odzwierciedlać wstawione dane wejściowe produktu.
Więcej informacji o ostatecznym stanie przetworzonych danych znajdziesz w tych przewodnikach: