Biblioteka klienta do Perla 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ść tych sprawdzonych metod ma zastosowanie do wszystkich języków. W tym przewodniku znajdziesz informacje o tych, które są specyficzne dla Perla.
Profilowanie aplikacji
Profiluj aplikację pod kątem wykorzystania procesora i pamięci, aby zidentyfikować wąskie gardła wydajności. Devel::NYTProf to zaawansowany profiler kodu źródłowego Perl z wieloma funkcjami, który możesz wypróbować.
Wersja Perla
Zalecamy regularne aktualizowanie do nowszej wersji Perla, ponieważ zwykle zapewnia ona lepszą ogólną wydajność. Najnowszą wersję Perla znajdziesz tutaj, a minimalną wymaganą wersję biblioteki na tej stronie.
Logowanie
Rozbudowane rejestrowanie może znacznie wydłużyć czas wykonywania i zwiększyć zużycie pamięci. W przypadku kodu w środowisku produkcyjnym zalecamy ustawienie poziomu rejestrowania na WARN
.
Więcej informacji o konfigurowaniu rejestratorów podsumowujących i szczegółowych znajdziesz w przewodniku po rejestrowaniu.
Metoda Search lub SearchStream
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ą wydajność niż metoda Search
, ale w niektórych przypadkach metoda Search
może być lepsza.
Więcej informacji o tych dwóch metodach znajdziesz tutaj.
Limit czasu HTTP
Biblioteka klienta Perl umożliwia ustawianie limitów czasu 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 pliku 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 2 godziny lub więcej, ale interfejs API może nadal przekraczać limit czasu w przypadku bardzo długotrwałych żądań i zwracać błąd DEADLINE_EXCEEDED
.
Jeśli wystąpi ten błąd, podziel żądanie i wykonaj części równolegle. Pozwoli to uniknąć sytuacji, w której długotrwałe żądanie zakończy się niepowodzeniem, a jedynym sposobem na odzyskanie danych będzie ponowne uruchomienie żądania od początku.