La bibliothèque cliente PHP facilite les interactions avec l'API Google Ads de votre part. Cependant, les performances dépendent en grande partie de la manière est utilisée et intégrée.
La plupart de ces bonnes pratiques s'appliquent dans toutes les langues. Ce guide présente ceux qui sont spécifiques à PHP.
Implémentation de tampons de protocole
Protobuf est utilisé par gRPC et l'API Google Ads pour les messages de demande et de réponse. Deux implémentations sont disponible, bien que celui écrit en C offre les meilleures performances.
Pour en savoir plus, consultez le guide Protobuf.
Mode de fonctionnement de l'interpréteur PHP
PHP est un langage de script polyvalent et comporte de nombreuses opérations en fonction de l'utilisation. PHP CGI (Common Gateway Interface) présente un avantage notable, car il peut partager entre les exécutions.
Version de PHP
Il est recommandé de mettre à niveau régulièrement vers une version plus récente de PHP, s'accompagne de meilleures performances globales. Liste des langages PHP compatibles version.
Versions inutilisées de l'API Google Ads
Toutes les versions de la bibliothèque cliente sont compatibles avec plusieurs versions de l'API Google Ads. Pour chaque version de l'API Google Ads compatible avec la bibliothèque cliente, il existe des packages dédiés à la version.
Les packages dédiés aux versions de l'API Google Ads qui ne sont pas utilisées peuvent être en toute sécurité de la bibliothèque cliente. Parce qu'il peut être utile d'accélérer ou réduire l'espace mémoire utilisé, la bibliothèque cliente fournit des utilitaires pour le faire par programmation.
Exemple
Supposons que vous mettiez en œuvre la bibliothèque cliente qui n'utilise que la dernière version
Version de l'API: v17
, et vous souhaitez supprimer la prise en charge de l'API inutilisée
Versions de l'API: v16
et
v15
Dans le fichier composer.json
du projet, définissez un script Composer (nommé
remove-google-ads-api-version-support
) qui exploite l'utilitaire fourni par
la bibliothèque cliente, dans la classe
ApiVersionSupport
:
"scripts": {
"remove-google-ads-api-version-support": [
"Google\\Ads\\GoogleAds\\Util\\ApiVersionSupport::remove"
]
}
Ensuite, utilisez le script Composer avec les numéros de version comme paramètres et imprimez certains messages d'état:
# 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
L'exemple de résultat d'exécution ci-dessous indique une taille de fichier réduite de 50 Mo et
seule la version compatible restante est 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
Développement ou production
PHP est un langage interprété en ce sens qu'il compile d'abord les instructions avant de les exécuter. C'est généralement avantageuse puisque, pendant le développement, les sources changent souvent lors de l'exécution le temps n'est pas si crucial. C'est l'inverse qui se produit au moment de la production, la stabilité et les performances sont les principales préoccupations.
Cache
La mise en cache est courante et fortement recommandée, car elle améliore les performances et améliore la stabilité en stockant des instructions de script précompilées.
OPcache est l'outil le plus utilisé est disponible par défaut.
Réapprovisionnement automatique
Le réapprovisionnement automatique est une pratique courante car il améliore à la fois les performances et la stabilité en chargeant des informations précompilées sur les classes.
La bibliothèque cliente PHP est conforme à la norme PSR-4 pour
l'autochargement et fournit la définition
composer.json
. Des options dédiées de Composer, telles que
--optimize-autoloader
ou --classmap-authoritative
, par exemple, peut alors être
est prêt à l'emploi.
Journalisation
Définir les enregistreurs sur un niveau élevé comme ERROR
peut aider à réduire le temps d'exécution
et la consommation de mémoire.
Pour en savoir plus, consultez le guide de journalisation.
Débogage et profilage
Nous vous recommandons de désactiver les débogueurs et les profileurs, car ils sont habituellement associés sur le temps d'exécution.
Précharger
Depuis PHP 7.4, OPcache préchargement peut être utilisé pour précharger les scripts en mémoire, ce qui va plus loin mise en cache.
Un script doit être conçu pour tirer parti de cette fonctionnalité, mais bibliothèque cliente ne fonctionne pas, car il n'existe aucun moyen générique d'implémenter OPcache. préchargement. Le compromis entre utilisation de la mémoire et gain de performances très spécifiques à un projet et à une exécution donnés.