Leistung

Die Clientbibliothek für Perl erleichtert die Interaktionen mit der Google Ads API bei minimaler Konfiguration. 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 Funktionen behandelt.

Profilerstellung für Ihre Anwendung

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

Perl-Version

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

Logging

Umfangreiches Logging kann zu erheblichen Leistungseinbußen und einer hohen Speicherauslastung führen. Wir empfehlen, die Protokollierungsebene für Code in der Produktion auf WARN festzulegen.

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

Such- oder SearchStream-Methode

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 vorzuziehen ist.

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 anhand der DEFAULT_HTTP_TIMEOUT-Einstellung in Constants.pm festgelegt. Legen Sie einen niedrigeren Wert fest, wenn Sie eine kürzere maximale Zeit für einen API-Aufruf erzwingen möchten.

Sie können das Zeitlimit auf mindestens zwei Stunden festlegen. Bei extrem lang laufenden Anfragen kann es jedoch trotzdem zu einem Zeitüberschreitungsfehler der API kommen, der den Fehlercode DEADLINE_EXCEEDED zurückgibt. Wenn dieser Fehler auftritt, teilen Sie die Anfrage auf und führen Sie die Teile parallel aus. So wird verhindert, dass eine lang laufende Anfrage fehlschlägt und die einzige Möglichkeit zur Wiederherstellung darin besteht, die Anfrage noch einmal von Anfang an zu starten.