Leistung

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

Die meisten allgemeinen Best Practices gelten für alle Sprachen. Auf dieser Seite finden Sie Leistungsempfehlungen speziell für Perl.

Anwendung profilieren

Profilieren Sie Ihre Anwendung sowohl hinsichtlich der CPU- als auch der Arbeitsspeichernutzung, um Leistungsengpässe zu identifizieren. Devel::NYTProf ist ein funktionsreicher Perl-Quellcode-Profiler, mit dem Sie die Ausführungszeit analysieren können.

Perl-Version

Aktualisieren Sie regelmäßig auf eine neuere Perl-Version, um von Verbesserungen der Laufzeitleistung zu profitieren. Laden Sie die neueste Version von den CPAN Perl-Quellcode Releases herunter und prüfen Sie in den README-Anforderungen die mindestens erforderliche Version für die Bibliothek.

Logging

Umfangreiches Logging kann zu erheblichen Einbußen bei der Ausführungszeit und zu einem hohen Speicherverbrauch führen. Legen Sie die Logging-Stufe für jeden Code in der Produktion auf WARN fest.

Weitere Informationen zum Konfigurieren von Loggern für Zusammenfassungen und Details finden Sie im Logging-Leitfaden.

SearchStream im Vergleich zu Search

Die Google Ads API bietet zwei Hauptmethoden zum Abrufen von Objekten: Search (mit Paginierung) und SearchStream (mit Streaming). SearchStream bietet eine bessere Leistung als Search, es gibt jedoch bestimmte Szenarien in denen Search bevorzugt werden sollte.

Einen detaillierten Vergleich der beiden Methoden finden Sie im Streaming Leitfaden.

Nutzlastoptimierung und Batching

So minimieren Sie den Netzwerk-Overhead und den Speicherverbrauch:

  • Fordern Sie in Ihren GAQL-Abfragen (Google Ads Query Language) nur die spezifischen Felder an, die Ihre Anwendung benötigt.
  • Gruppieren Sie mehrere Mutationsvorgänge in einer einzigen mutate-Anfrage, anstatt für jede Änderung eine separate Anfrage zu senden.

HTTP-Zeitlimit

Die Perl-Clientbibliothek bietet eine Einstellung zum Konfigurieren von HTTP-Zeitlimits auf Clientebene:

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

Der Standardwert ist 3600 Sekunden (1 Stunde) und wird basierend auf der DEFAULT_HTTP_TIMEOUT Konstante in Constants.pm festgelegt. Legen Sie ein benutzerdefiniertes Client-Zeitlimit 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. Die API kann jedoch bei extrem langen Anfragen trotzdem ein Zeitlimit überschreiten und den Fehler DEADLINE_EXCEEDED zurückgeben. Wenn dieser Fehler auftritt, teilen Sie die Anfrage in kleinere Teile auf und führen Sie sie 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.