ביצועים

ספריית הלקוח של 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. אם תיתקלו בשגיאה הזו, תצטרכו לפצל את הבקשה ולהפעיל את המקטעים מקביל; כך נמנע מצב שבו בקשה ממושכת נכשלת הדרך היחידה לשחזר את הפעולה היא להפעיל שוב את הבקשה מההתחלה.