Leistung

Die Clientbibliothek für Perl erleichtert die Interaktion mit der Google Ads API und erfordert nur minimale Konfigurationen. Die Leistung hängt jedoch stark davon ab, wie die Bibliothek verwendet und eingebunden wird.

Die meisten Best Practices gelten für alle Sprachen. In diesem Leitfaden werden die für Perl spezifischen behandelt.

Profilerstellung für Ihre Anwendung

Profilieren Sie Ihre Anwendung sowohl für die CPU- als auch für die Speichernutzung, um Leistungsengpässe zu identifizieren. Devel::NYTProf ist ein leistungsstarker, funktionsreicher Perl-Quellcode-Profiler, den Sie sich ansehen können.

Perl-Version

Es empfiehlt sich, regelmäßig auf eine neuere Perl-Version zu aktualisieren, da diese in der Regel eine bessere Gesamtleistung bietet. Die aktuelle Perl-Version und die für die Bibliothek erforderliche Mindestversion finden Sie auf dieser Seite.

Logging

Umfangreiches Logging kann zu erheblichen Einbußen bei der Ausführungszeit und zum Verbrauch von Arbeitsspeicher führen. Wir empfehlen, die Protokollierungsebene für jeden Code in der Produktion auf WARN festzulegen.

Weitere Informationen zur Konfiguration von Zusammenfassungs- und Detail-Loggern finden Sie im Leitfaden zur Protokollierung.

Methode „Search“ oder „SearchStream“

Die Google Ads API bietet zwei Hauptmethoden zum Abrufen von Objekten: Search (mit Paginierung) und SearchStream (mit Streaming). SearchStream bietet eine bessere Leistung als die Methode Search. Es gibt jedoch bestimmte Szenarien, in denen die Methode Search möglicherweise bevorzugt wird.

Weitere Informationen zu den beiden Methoden

HTTP-Zeitüberschreitung

Die Perl-Clientbibliothek bietet eine Möglichkeit, HTTP-Zeitlimits auf Clientebene festzulegen:

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

Der Standardwert wird basierend auf der Einstellung DEFAULT_HTTP_TIMEOUT in Constants.pm festgelegt. Legen Sie einen niedrigeren Wert fest, wenn Sie ein kürzeres Limit für die maximale Zeit für einen API-Aufruf erzwingen möchten.

Sie können das Zeitlimit auf 2 Stunden oder mehr festlegen. Bei sehr zeitaufwendigen Anfragen kann es jedoch trotzdem zu einem Zeitlimitüberschreitungsfehler kommen und die API gibt dann den Fehler DEADLINE_EXCEEDED zurück. Wenn dieser Fehler auftritt, teilen Sie die Anfrage auf und führen Sie die Teile parallel aus. So wird vermieden, dass eine lange Anfrage fehlschlägt und die einzige Möglichkeit zur Wiederherstellung darin besteht, die Anfrage noch einmal von Anfang an auszulösen.