Leistung

Die Clientbibliothek für Perl vereinfacht die Interaktion mit der Google Ads API, da Sie nur minimaler Konfigurationsaufwand haben. Die Leistung hängt jedoch stark davon ab, wie die Bibliothek verwendet und eingebunden wird.

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

Profilerstellung für Ihre Anwendung

Erstellen Sie ein Profil Ihrer Anwendung im Hinblick auf die CPU- und Speichernutzung, um Leistungsengpässe zu erkennen. Devel::NYTProf ist ein leistungsstarker, funktionsreicher Perl-Quellcode-Profiler, den Sie erkunden 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 neueste Perl-Version finden Sie hier. Die erforderliche Mindestversion für die Bibliothek finden Sie auf dieser Seite.

Logging

Ein umfangreiches Logging kann zu erheblichen Ausführungszeiten und Arbeitsspeichernutzung führen. Wir empfehlen, die Logging-Ebene für Code in der Produktion auf WARN festzulegen.

Weitere Informationen zur Konfiguration von Zusammenfassungs- und Detail-Loggern finden Sie in der Logging-Anleitung.

Search- oder SearchStream-Methode

Die Google Ads API bietet zwei Hauptmethoden zum Abrufen von Objekten: Search (Paginierung) und SearchStream (Streaming). SearchStream bietet eine bessere Leistung gegenüber der Search-Methode. Es kann jedoch bestimmte Szenarien geben, in denen die Search-Methode besser geeignet ist.

Weitere Informationen zu den beiden Methoden

HTTP-Zeitlimit

Die Perl-Clientbibliothek bietet eine Oberfläche zum Festlegen von HTTP-Zeitüberschreitungen auf Clientebene:

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

Der Standardwert wird anhand 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üssen.

Sie können das Zeitlimit auf 2 Stunden oder mehr festlegen. Es kann aber trotzdem passieren, dass die API bei Anfragen mit extrem langer Ausführungszeit das Zeitlimit überschreitet und den Fehler DEADLINE_EXCEEDED zurückgibt. Wenn dieser Fehler auftritt, teilen Sie die Anfrage auf und führen Sie die Blöcke parallel aus. So vermeiden Sie, dass eine lang andauernde Anfrage fehlschlägt. Die einzige Möglichkeit zur Wiederherstellung besteht darin, die Anfrage noch einmal von Anfang an auszulösen.