Leistung

Die PHP-Clientbibliothek erleichtert die Interaktion mit der Google Ads API mit minimalen Konfiguration Ihrerseits. 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 diejenigen behandelt, die für PHP spezifisch sind.

Protobuf-Implementierung

Protobuf wird von gRPC verwendet und die Google Ads API für Anfrage- und Antwortnachrichten. Zwei Implementierungen verfügbar ist, auch wenn die in C geschriebene die bessere Leistung bietet.

Weitere Informationen finden Sie im Protobuf-Leitfaden.

Betriebsmodus des PHP-Interpreters

PHP ist ein vielseitiges Scripting Sprache und viele Vorgänge Modi, abhängig von der Nutzung. PHP CGI (Common Gateway Interface) hat einen großen Vorteil, da es zwischen den Ausführungen.

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 Version der Google Ads API, die von der Clientbibliothek unterstützt wird, sind spezielle Pakete für die Version.

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 Clientbibliothek, die nur die neueste API-Version v17 und Sie möchten die Unterstützung für die nicht verwendete API-Version entfernen. API-Versionen: v16 und v15

Definieren Sie in der Datei composer.json des Projekts ein Composer-Skript (namens remove-google-ads-api-version-support), die das von 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 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

Die Ausgabe der Beispielausführung zeigt eine Dateigrößenreduzierung um 50 MB und die Die einzige verbleibende unterstützte Version ist 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

Entwicklung vs. Produktion

PHP ist eine interpretierte Sprache. da er vor der Ausführung zuerst Anweisungen kompiliert. Dies ist normalerweise vorteilhaft, da sich Quellen während der Entwicklung häufig während der Ausführung ändern. Zeit ist nicht so wichtig. 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 automatisch laden und die Definition als Teil des composer.json -Datei. Spezielle Optionen von Composer, z. B. --optimize-autoloader oder --classmap-authoritative kann dann standardmäßig verwendet werden.

Logging

Das Festlegen von Protokollierungen auf ein hohes Niveau wie ERROR kann dabei helfen, die Ausführungszeit zu reduzieren und Arbeitsspeicherverbrauch.

Weitere Informationen finden Sie im Leitfaden für die Protokollierung.

Fehlerbehebung und Profilerstellung

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 können Skripts vorab in den Arbeitsspeicher geladen werden, Caching.

Ein Skript muss entworfen werden, um diese Funktion nutzen zu können, aber der PHP-Code nicht, da es keine allgemeine Methode zur Implementierung von OPcache gibt. Vorabladen und der Ausgleich zwischen Arbeitsspeichernutzung und Leistungssteigerung spezifisch für ein bestimmtes Projekt und eine bestimmte Ausführung sein.