Leistung

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

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

Profil der Anwendung erstellen

Erstellen Sie ein Profil für Ihre Anwendung, um die CPU- und Speichernutzung zu analysieren und Leistungsengpässe zu identifizieren. Devel::NYTProf ist ein funktionsreicher Perl-Quellcode-Profiler, mit dem Sie die Ausführungszeit analysieren können.

Perl-Version

Führen Sie regelmäßig ein Upgrade auf eine neuere Perl-Version durch, um von Verbesserungen der Laufzeitleistung zu profitieren. Laden Sie die neueste Version aus den CPAN Perl-Quellversionen herunter und prüfen Sie die mindestens erforderliche Version für die Bibliothek in den README-Anforderungen.

Logging

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

Weitere Informationen zum Konfigurieren von Zusammenfassungs- und Detailloggern 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 möglicherweise bevorzugt wird.

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

Nutzlastoptimierung und Batching

So minimieren Sie den Netzwerk-Overhead und den Arbeitsspeicherverbrauch:

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

HTTP-Zeitüberschreitung

Die Perl-Clientbibliothek bietet eine Einstellung zum Konfigurieren von HTTP-Zeitüberschreitungen auf Clientebene:

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

Der Standardwert beträgt 3600 Sekunden (1 Stunde) und wird basierend auf der Konstante DEFAULT_HTTP_TIMEOUT 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üssen.

Sie können das Zeitlimit auf 2 Stunden oder mehr festlegen. Die API kann jedoch bei extrem lang laufenden Anfragen trotzdem ein Zeitlimit überschreiten und einen DEADLINE_EXCEEDED-Fehler 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 lang andauernde Anfrage fehlschlägt und die einzige Möglichkeit zur Wiederherstellung darin besteht, die Anfrage noch einmal von vorn zu starten.