Wydajność

Biblioteka klienta Perl ułatwia korzystanie z interfejsu Google Ads API, wymagając minimalnej konfiguracji z Twojej strony. Jej wydajność zależy jednak od sposobu wykorzystania i integracji biblioteki.

Większość tych sprawdzonych metod ma zastosowanie do wszystkich języków. W tym przewodniku omawiamy funkcje charakterystyczne dla języka Perl.

Profilowanie aplikacji

Profiluj aplikację pod kątem wykorzystania procesora i pamięci, aby zidentyfikować słabe gardła wydajności. Devel::NYTProf to zaawansowany program profilujący kodu źródłowego Perl z wieloma funkcjami, który możesz przeglądać.

Wersja Perl

Warto regularnie uaktualniać Perl do nowszej wersji, ponieważ zwykle zapewnia ona lepszą ogólną wydajność. Najnowszą wersję języka Perl znajdziesz tutaj, a na tej stronie – minimalną wymaganą wersję biblioteki.

Logowanie

Intensywne logowanie może powodować znaczne kary związane z czasem wykonywania i zużyciem pamięci. Dla każdego kodu w środowisku produkcyjnym zalecamy ustawienie poziomu logowania na WARN.

Więcej informacji o konfiguracji rejestratorów podsumowania i rejestratorów szczegółów znajdziesz w przewodniku po logowaniu.

Metoda wyszukiwania lub SearchStream

Interfejs Google Ads API udostępnia 2 główne metody pobierania obiektów: Search (korzystający z podziału na strony) i SearchStream (używający strumieniowania). SearchStream zapewnia większą wydajność niż metoda Search, ale w pewnych sytuacjach preferowana może być metoda Search.

Więcej informacji o tych 2 metodach znajdziesz tutaj.

Limit czasu HTTP

Biblioteka klienta Perl udostępnia platformę do ustawiania limitów czasu oczekiwania na HTTP na poziomie klienta:

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

Wartość domyślna jest ustawiana na podstawie ustawienia DEFAULT_HTTP_TIMEOUT w Constants.pm. Ustaw niższą wartość, jeśli chcesz wymusić krótszy limit maksymalnego czasu wywołania interfejsu API.

Możesz ustawić limit czasu na co najmniej 2 godziny, ale interfejs API może nadal przekraczać limit czasu trwających żądań i zwracać błąd DEADLINE_EXCEEDED. Jeśli napotkasz ten błąd, podziel żądanie i wykonaj fragmenty równolegle. Pozwala to uniknąć sytuacji, w której długotrwałe żądanie kończy się niepowodzeniem, a jedynym sposobem na odzyskanie żądania jest ponowne aktywowanie żądania od początku.