תכנון זמן האחזור של ה-API

זמן אחזור הוא משך הזמן עד לקבלת התגובה לבקשה. במדריך הזה מפורטים זמני האחזור של בקשות Merchant API לפי סדרי גודל. השתמשו בערכים האלה כדי להגדיר זמנים קצובים לתפוגה ולתכנן את קצב הנתונים של השילוב.

רוב הבקשות של Merchant API מסתיימות תוך פחות משנייה. עדכונים של מלאי מקומי ואזורי עשויים להימשך כמה שניות, וחלק מהשאילתות של הדוחות נמשכות הרבה יותר זמן.

זמני אחזור אופייניים

בטבלה הבאה מפורטים זמני האחזור המשוערים לפי סוג הבקשה. זמן האחזור הרגיל הוא החציון: חצי מהבקשות מסתיימות מהר יותר. הערך בעמודה slowest 1%‎ מייצג את משך הזמן שלוקח ל-1% מהבקשות האיטיות ביותר, או יותר.

סוג הבקשה שיטות לדוגמה זמן אחזור אופייני האחוזון ה-99 של הבקשות האיטיות ביותר
קריאה וכתיבה של מוצרים products.get, productInputs.insert, productInputs.patch, productInputs.delete ‫100 עד 600 אלפיות השנייה בערך 2 שניות
רוב הבקשות האחרות products.list, accounts.get, dataSources.list, aggregateProductStatuses.list פחות משנייה כמה שניות
כתיבה של מלאי מקומי ואזורי ‫localInventories.insert,‏ regionalInventories.insert והשיטות התואמות של delete כמה שניות ‫10 שניות לפחות
שאילתות דוחות accounts.reports.search בערך חצי שנייה ‫30 שניות לפחות

השאילתות בדוחות הן הכי מגוונות. זמן האחזור שלהם תלוי בטבלת הדוח שאתם שולחים אליה שאילתה ובכמות הנתונים שהשאילתה מכסה. בערך 1 מתוך 10 שאילתות של דוחות נמשכת בדרך כלל יותר מ-2 שניות, וחלק קטן יכול להימשך יותר מדקה.

המלצות

  • הגדירו זמן קצוב לתפוגה עם מרווח ביטחון. אם אתם מגדירים זמן קצוב לתפוגה של בקשות בלקוח, הגדירו אותו כך שיהיה ארוך בהרבה מזמני האחזור האיטיים ביותר שמפורטים בקטע זמני אחזור אופייניים. לדוגמה, זמן קצוב לתפוגה של 60 שניות משאיר מספיק זמן לרוב הבקשות, אבל לא לכל השאילתות של הדוחות.
  • שליחת בקשות נפרדות במקביל כל כתיבה של מלאי נמשכת כמה שניות, ולכן שליחה של כל אחת בנפרד מגבילה את קצב העברת הנתונים. שולחים בקשות נפרדות במקביל או משתמשים בבקשת Batch. כששולחים כמה בקשות, חשוב לשים לב למגבלות לדקה ולמגבלות היומיות. מידע נוסף זמין במאמר מכסות לקצב הגשת בקשות.
  • הגבילו את השאילתות של הדוחות לנתונים שאתם צריכים. שאילתות שכוללות קבוצות נתונים גדולות, כמו טווחי תאריכים ארוכים, נמשכות יותר זמן ויכול להיות שהזמן הקצוב לתפוגה שלהן יסתיים. אם אתם צריכים כמויות גדולות של נתונים, כדאי להשתמש ב-BigQuery. מידע נוסף זמין במאמר טעינת נתונים מ-Google Merchant Center ל-BigQuery.
  • נסו שוב עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff). אם הזמן הקצוב לתפוגה של בקשה נגמר או שהיא נכשלת בגלל שגיאה זמנית, נסו שוב עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff).

זמן הטיפול

בבקשות לשינוי נתונים, תגובה מוצלחת פירושה ש-Merchant API קיבל את השינוי, אבל העיבוד נמשך אחרי התגובה. זמן העיבוד הוא הזמן שעובר מרגע קבלת התגובה ועד שהשינוי מופיע במשאבים אחרים. זמן העיבוד לא נכלל בזמן האחזור, והוא יכול להיות ארוך בהרבה. לדוגמה, יכול להיות שיעברו כמה דקות עד שהמוצר המעובד ישקף את קלט המוצר שהוכנס.

למידע נוסף על מצב העיבוד הסופי של הנתונים, קראו את המדריכים הבאים: