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.