Die PHP-Clientbibliothek vereinfacht die Interaktionen mit der Google Ads API bei minimaler Konfiguration. Die Leistung hängt jedoch stark davon ab, verwendet und integriert ist.
Die meisten dieser Best Practices treffen auf in alle Sprachen. In diesem Leitfaden werden die für PHP spezifischen Funktionen behandelt.
Protobuf-Implementierung
Protobuf wird von gRPC verwendet und die Google Ads API für Anfrage- und Antwortnachrichten. Es sind zwei Implementierungen verfügbar, wobei die in C geschriebene eine bessere Leistung bietet.
Weitere Informationen finden Sie im Protobuf-Leitfaden.
Betriebsmodus des PHP-Interpreters
PHP ist eine vielseitige Scriptsprache und bietet je nach Verwendung viele Betriebsmodi. PHP CGI (Common Gateway Interface) hat einen bemerkenswerten Vorteil, da es Ressourcen zwischen Ausführungen freigeben kann.
PHP-Version
Es empfiehlt sich, regelmäßig auf eine neuere PHP-Version zu aktualisieren. zu einer besseren Gesamtleistung. Liste der unterstützten PHP-Versionen
Nicht verwendete Google Ads API-Versionen
Alle Versionen der Clientbibliothek unterstützen mehrere Google Ads API-Versionen. Für jede von der Clientbibliothek unterstützte Version der Google Ads API gibt es spezielle Pakete.
Die Pakete, die für nicht verwendete Google Ads API-Versionen vorgesehen sind, können sicher aus der Clientbibliothek entfernt. Da es hilfreich sein kann, die oder die Speicherauslastung reduzieren, bietet die Clientbibliothek Dienstprogramme, können Sie dies programmatisch tun.
Beispiel
Angenommen, Sie implementieren die Client-Bibliothek,
API-Version v18
und Sie möchten die Unterstützung für die nicht verwendete API-Version entfernen
API-Versionen: v17
und
v16
Definieren Sie in der Datei composer.json
des Projekts ein Composer-Skript (namens
remove-google-ads-api-version-support
), die das Dienstprogramm nutzt,
in der Clientbibliothek in der Klasse
ApiVersionSupport
:
"scripts": {
"remove-google-ads-api-version-support": [
"Google\\Ads\\GoogleAds\\Util\\ApiVersionSupport::remove"
]
}
Verwenden Sie dann das Composer-Skript mit den Versionsnummern als Parameter und drucken Sie einige Statusmeldungen:
# 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 v16 and v17 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 16 17
# 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
Die Ausgabe der Beispielausführung zeigt eine Dateigrößenreduzierung von 50 MB und die
Die einzige verbleibende unterstützte Version ist V18
:
# Supported Google Ads API versions:
V16
V17
V18
# Vendor folder size:
110M ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 16 of Google Ads API...
Done
Removing support for the version 17 of Google Ads API...
Done
# Supported Google Ads API versions:
V18
# Vendor folder size:
60M ./vendor
Entwicklung und Produktion
PHP ist eine interpretierte Sprache, bei der Anweisungen zuerst kompiliert und dann ausgeführt werden. Das ist in der Regel von Vorteil, da sich während der Entwicklungszeit die Quellen häufig ändern, während die Ausführungszeit nicht so entscheidend ist. Das Gegenteil gilt jedoch zur Produktionszeit, da sind Stabilität und Leistung die wichtigsten Punkte.
Cache
Caching ist üblich und wird dringend empfohlen, da es beide die Leistung verbessert. und erhöht die Stabilität, indem vorkompilierte Skriptanweisungen gespeichert werden.
Am häufigsten wird OPcache verwendet. und ist standardmäßig verfügbar.
Automatisches Aufladen
Häufig verwendet das automatische Laden da es sowohl die Leistung verbessert als auch die Stabilität erhöht, wenn vorkompilierten Informationen über Klassen.
Die PHP-Clientbibliothek entspricht PSR-4 für das automatische Laden und stellt die Definition als Teil der Datei composer.json
bereit. Spezielle Optionen von Composer wie --optimize-autoloader
oder --classmap-authoritative
können dann direkt verwendet werden.
Logging
Wenn Sie Logging auf eine hohe Ebene wie ERROR
festlegen, können Sie den Overhead bei der Ausführungszeit und den Arbeitsspeicherverbrauch reduzieren.
Weitere Informationen finden Sie im Leitfaden zum Logging.
Debugging und Profiling
Wir empfehlen, die normalerweise im Lieferumfang enthaltenen Debugger- und Profiler-Tools zu deaktivieren. einen gewissen Ausführungszeitaufwand.
Vorab laden
Seit PHP 7.4 OPcache Vorabladen kann verwendet werden, um Skripts vorab in den Arbeitsspeicher zu laden. Caching.
Ein Script muss so konzipiert sein, dass diese Funktion genutzt werden kann. Das ist bei der PHP-Clientbibliothek nicht der Fall, da es keine generische Möglichkeit zur Implementierung des OPcache-Preloads gibt. Außerdem ist der Kompromiss zwischen Speichernutzung und Leistungssteigerung sehr spezifisch für ein bestimmtes Projekt und eine bestimmte Ausführung.