Wydajność

Biblioteka klienta dla języka Perl ułatwia interakcje z interfejsem Google Ads API przy minimalnej konfiguracji po Twojej stronie. Wydajność zależy jednak w dużej mierze od sposobu używania i integracji biblioteki.

Większość ogólnych sprawdzonych metod ma zastosowanie do wszystkich języków. Na tej stronie znajdziesz wskazówki dotyczące wydajności w języku Perl.

Profilowanie aplikacji

profilować aplikację pod kątem wykorzystania procesora i pamięci, aby identyfikować wąskie gardła wydajności; Devel::NYTProf to bogaty w funkcje profiler kodu źródłowego Perla, którego możesz używać do analizowania czasu wykonywania.

Wersja Perla

Regularnie uaktualniaj Perla do nowszej wersji, aby korzystać z ulepszeń wydajności środowiska wykonawczego. Pobierz najnowszą wersję z wydań źródłowych CPAN Perl i sprawdź minimalną wymaganą wersję biblioteki w wymaganiach README.

Logowanie

Obszerne logowanie może znacznie wydłużyć czas wykonywania i zwiększyć zużycie pamięci. W przypadku kodu w środowisku produkcyjnym ustaw poziom rejestrowania na WARN.

Więcej informacji o konfigurowaniu rejestratorów podsumowań i szczegółów znajdziesz w przewodniku po logowaniu.

SearchStream a Search

Interfejs Google Ads API udostępnia 2 główne metody pobierania obiektów: Search (która korzysta ze stronicowania) i SearchStream (która korzysta ze strumieniowania). SearchStream zapewnia lepszą wydajność niż Search, ale w niektórych sytuacjach Search może być lepszym rozwiązaniem.

Szczegółowe porównanie obu metod znajdziesz w przewodniku po strumieniowaniu.

Optymalizacja i grupowanie ładunku

Aby zminimalizować obciążenie sieci i zużycie pamięci:

  • W zapytaniach w języku Google Ads Query Language (GAQL) żądaj tylko konkretnych pól, których potrzebuje Twoja aplikacja.
  • Grupuj wiele operacji mutacji w jedno żądanie mutate, zamiast wysyłać osobne żądania dla każdej zmiany.

Limit czasu HTTP

Biblioteka klienta Perl udostępnia ustawienie umożliwiające konfigurowanie limitów czasu HTTP na poziomie klienta:

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

Wartość domyślna to 3600 sekund (1 godzina), ustawiona na podstawie stałej DEFAULT_HTTP_TIMEOUT w Constants.pm. Ustaw niestandardowy limit czasu klienta, jeśli chcesz wymusić krótszy limit maksymalnego czasu wywołania interfejsu API.

Możesz ustawić limit czasu na 2 godziny lub więcej, ale interfejs API może nadal przekraczać limit czasu w przypadku bardzo długich żądań i zwracać błąd DEADLINE_EXCEEDED. Jeśli wystąpi ten błąd, podziel żądanie na mniejsze części i wykonaj je równolegle. Pozwala to uniknąć sytuacji, w której długotrwałe żądanie kończy się niepowodzeniem, a jedynym sposobem na odzyskanie danych jest ponowne uruchomienie żądania od początku.