Biblioteka klienta do Perla ułatwia interakcje z interfejsem Google Ads API przy minimalnej konfiguracji z Twojej strony. 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 przypadku języka Perl.
Profilowanie aplikacji
Profiluj 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 Perl, którego możesz używać do analizowania czasu wykonania.
Wersja Perla
Regularnie przechodź na nowszą wersję Perla, aby korzystać z ulepszeń wydajności środowiska wykonawczego. Pobierz najnowszą wersję ze strony CPAN Perl source releases i sprawdź minimalną wymaganą wersję biblioteki w wymaganiach README.
Logowanie
Rozbudowane rejestrowanie 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 rejestrowaniu.
SearchStream a wyszukiwanie
Interfejs Google Ads API udostępnia 2 główne metody pobierania obiektów:Search (która korzysta z paginacji) i SearchStream (która korzysta ze strumieniowania). SearchStream
zapewnia lepszą skuteczność niż Search, choć w niektórych sytuacjach
może być preferowana Search.
Szczegółowe porównanie tych 2 metod znajdziesz w przewodniku po przesyłaniu strumieniowym.
Optymalizacja i grupowanie ładunku
Aby zminimalizować obciążenie sieci i zużycie pamięci:
- W zapytaniach w języku zapytań Google Ads (GAQL) żądaj tylko tych pól, których potrzebuje Twoja aplikacja.
- Grupuj wiele operacji modyfikacji w jedno żądanie
mutatezamiast 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 napotkasz ten błąd, podziel żądanie na mniejsze części i wykonaj je równolegle. Pozwala to uniknąć sytuacji, w której długotrwała prośba kończy się niepowodzeniem, a jedynym sposobem na odzyskanie danych jest ponowne uruchomienie prośby od początku.