Wydajność

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

Większość tych sprawdzonych metod ma zastosowanie we wszystkich językach. W tym przewodniku omówimy te dotyczące tylko języka PHP.

Implementacja buforów protokołu

Protobuf jest używany przez gRPC oraz interfejs Google Ads API do obsługi wiadomości z żądaniami i odpowiedziami. Dwie implementacje są ale ten napisany w C ma większą skuteczność.

Więcej informacji znajdziesz w przewodniku po buforach protokołu.

Tryb działania interpretera PHP

PHP to uniwersalne skrypty język i obsługuje wiele działań w zależności od użycia. Plik PHP CGI (Common Gateway Interface) ma wyjątkową zaletę, ponieważ umożliwia udostępnianie zasobów między uruchomieniami.

Wersja PHP

Dobrą praktyką jest regularne uaktualnianie do nowszej wersji PHP, tak jak to zwykle zapewnia większą ogólną skuteczność. Lista obsługiwanych języków PHP .

Nieużywane wersje interfejsu Google Ads API

Wszystkie wersje biblioteki klienta obsługują wiele wersji interfejsu Google Ads API. W przypadku każdej wersji interfejsu Google Ads API obsługiwanej przez bibliotekę klienta podano dedykowane pakiety dla danej wersji.

Pakiety przeznaczone dla nieużywanych wersji interfejsu Google Ads API mogą być zostały bezpiecznie usunięte z biblioteki klienta. Ponieważ przyspieszenie działania może być przydatne i zmniejsza ilość pamięci, dzięki czemu biblioteka klienta udostępnia narzędzia zrobić to automatycznie.

Przykład

Załóżmy, że wdrażana jest biblioteka klienta, która korzysta tylko z najnowszej wersji Interfejs API w wersji v17 i chcesz usunąć obsługę nieużywanych komponentów Wersje interfejsu API: v16 oraz v15

W pliku composer.json projektu zdefiniuj skrypt Composer (o nazwie remove-google-ads-api-version-support), który korzysta z narzędzia udostępnianego przez w bibliotece klienta ApiVersionSupport:

"scripts": {
  "remove-google-ads-api-version-support": [
    "Google\\Ads\\GoogleAds\\Util\\ApiVersionSupport::remove"
  ]
}

Następnie użyj skryptu Composer z numerami wersji jako parametrami i wydrukuj niektóre komunikaty o stanie:

# Change the current directory to the project directory.
cd /path/to/the/project

# Install the project.
composer install

# Output the vendor folder size and the list of Google Ads API versions that are
# supported before removing support for Google Ads API versions.
echo "# Supported Google Ads API versions:"
find ./vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/V* -maxdepth 0 | grep -o '..$'
echo "# Vendor folder size:"
du -sh ./vendor

# Use the Composer script to remove the unused versions v15 and v16 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 15 16

# Output the vendor folder size and the list of Google Ads API versions that are
# supported after removing support for Google Ads API versions.
echo "# Supported Google Ads API versions:"
find ./vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/V* -maxdepth 0 | grep -o '..$'
echo "# Vendor folder size:"
du -sh ./vendor

Przykładowe wyniki wykonania polecenia poniżej wskazują, że rozmiar pliku został zmniejszony o 50 MB, a pozostała tylko obsługiwana wersja to V17:

# Supported Google Ads API versions:
V15
V16
V17
# Vendor folder size:
110M    ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 15 of Google Ads API...
Done
Removing support for the version 16 of Google Ads API...
Done
# Supported Google Ads API versions:
V17
# Vendor folder size:
60M     ./vendor

Programowanie a produkcja

PHP jest językiem interpretowanym ponieważ najpierw kompiluje instrukcje przed ich wykonaniem. Zwykle jest to Co jest korzystne, ponieważ w czasie programowania źródła często zmieniają się w trakcie realizacji czas nie jest aż tak ważny. Na etapie produkcji działa natomiast inaczej, Stabilność i wydajność stają się głównymi kwestiami.

Cache (Pamięć podręczna)

Pamięć podręczna jest powszechna i zdecydowanie zalecana, ponieważ zwiększa wydajność. i zwiększa stabilność dzięki przechowywaniu gotowych instrukcji skryptu.

Najczęściej używana jest metoda OPcache. i jest dostępne domyślnie.

Automatyczne doładowanie

Automatyczne doładowanie jest powszechne Poprawia wydajność i stabilność wstępnie skompilowanych informacji o klasach.

Biblioteka klienta PHP jest zgodna ze standardem PSR-4 dla: autoloading i podaje definicję w ramach funkcji composer.json. . Szczegółowe opcje narzędzia Composer, takie jak Na przykład --optimize-autoloader lub --classmap-authoritative, można wtedy użyć używane po rozpakowaniu.

Logowanie

Ustawienie rejestratorów na wysokim poziomie, np. ERROR, może skrócić czas wykonywania i zwiększania zużycia pamięci.

Więcej informacji znajdziesz w przewodniku dotyczącym logowania.

Debugowanie profilowanie

Zalecamy wyłączenie debugera i narzędzia do profilowania, które zwykle są i zwiększyć czas oczekiwania na wykonanie.

Wczytaj wstępnie

Od wersji PHP 7.4 OPcache wstępne ładowanie można użyć do wstępnego wczytywania skryptów w pamięci, i będzie o krok dalej niż w przypadku zwykłych buforowanie.

Aby korzystać z tej funkcji, należy zaprojektować skrypt, ale język PHP nie, ponieważ nie ma ogólnego sposobu wdrożenia OPcache. wstępnego wczytywania, kompromis między wykorzystaniem pamięci a wzrostem wydajności jest ściśle związanych z danym projektem i realizacją.