Wydajność

Biblioteka klienta Perl ułatwia interakcję z interfejsem Google Ads API przy minimalnym wysiłku. z Twojej strony. Skuteczność zależy jednak w dużym stopniu od tego, biblioteka jest używana i zintegrowana.

Większość sprawdzonych metod dotyczą wszystkich języków. W tym przewodniku omawiamy te, które są która jest specyficzna dla języka Perl.

Profilowanie aplikacji

Profiluj aplikację pod kątem wykorzystania procesora i pamięci, aby określić jej wydajność które powodują wąskie gardła. Devel::NYTProf to świetny program profilujący kod źródłowy Perl z wieloma funkcjami, który możesz wypróbować.

Wersja Perl

Dobrą praktyką jest regularne uaktualnianie wersji Perl do nowszej wersji, zapewnia większą ogólną skuteczność. Tutaj znajdziesz informacje najnowszą wersję Perl oraz minimalną wersję wymaganą przez bibliotekę .

Logowanie

Szczegółowe logowanie może spowodować nałożenie kary na poważnymi karami związanymi z czasem wykonywania i pamięć konsumpcją treści. Zalecamy ustawienie poziomu logowania na WARN dla każdego kodu w produkcji.

Więcej informacji znajdziesz w przewodniku dotyczącym logowania. szczegóły konfiguracji dzienników podsumowania i szczegółów.

Metoda Search lub SearchStream

Interfejs Google Ads API udostępnia 2 główne metody pobierania obiektów: Search (z podziałem na strony) oraz SearchStream (który używa strumieniowania). Metoda SearchStream zapewnia większą skuteczność niż metoda Search, ale mogą wystąpić tego typu problemy, w pewnych sytuacjach, w których metoda Search może być preferowana.

Więcej informacji na temat obu tych metod znajdziesz tutaj.

Przekroczenie limitu czasu HTTP

Biblioteka klienta Perl umożliwia ustawianie limitów czasu oczekiwania HTTP poziom:

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 muszą egzekwować krótszy limit maksymalnego czasu wywołania interfejsu API.

Możesz ustawić limit czasu na co najmniej 2 godziny, ale nadal może to spowodować przekroczenie limitu czasu interfejsu API bardzo długotrwałe żądania i zwracały błąd Błąd DEADLINE_EXCEEDED. Jeśli napotkasz ten błąd, podziel żądanie i wykonaj fragmenty w równoległe; Pozwala to uniknąć sytuacji, w której długo trwające żądanie zakończy się niepowodzeniem, Jedynym sposobem na przywrócenie danych jest ponowne wywołanie żądania od początku.