ביצועים

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

רוב השיטות המומלצות האלה רלוונטיות לכל השפות. במדריך הזה נסביר על הדרכים הספציפיות ל-Perl.

יצירת פרופילים לבקשה שלך

יצירת פרופיל לאפליקציה שלכם גם לשימוש במעבד (CPU) וגם בזיכרון כדי לזהות צווארי בקבוק בביצועים. Devel::NYTProf הוא כלי רב-עוצמה לניתוח קוד המקור של Perl, ועשיר בתכונות.

גרסת Perl

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

רישום ביומן

רישום נרחב ביומן עלול לגרום לסנקציות משמעותיות בזמן הביצוע ולצריכת זיכרון. לכל קוד בסביבת הייצור מומלץ להגדיר את רמת הרישום ביומן כ-WARN.

לפרטים נוספים על ההגדרה של יומני סיכום ורישום פרטים, קראו את המדריך ליומני הרישום.

שיטת חיפוש או SearchStream

ב-Google Ads API יש שתי שיטות עיקריות לאחזור אובייקטים – Search (שמשתמש בעימוד) ו-SearchStream (שמשתמש בסטרימינג). השיטה SearchStream מספקת ביצועים טובים יותר בהשוואה לשיטה Search, אבל ייתכנו תרחישים מסוימים שבהם השיטה Search תהיה מועדפת.

מידע נוסף על שתי השיטות זמין כאן.

תם הזמן הקצוב לתפוגה של HTTP

ספריית הלקוח של Perl מספקת משטח להגדרת פסקי זמן של HTTP ברמת הלקוח:

my $api_client = Google::Ads::GoogleAds::GoogleAdsClient->new({
  # Set HTTP timeout to 5 minutes.
  http_timeout   => 300
});

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

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