Performance

La bibliothèque cliente pour Perl facilite les interactions avec l'API Google Ads, avec une configuration minimale de votre part. Toutefois, les performances dépendent fortement de la manière dont la bibliothèque est utilisée et intégrée.

La plupart des bonnes pratiques générales s'appliquent à tous les langages. Cette page fournit des conseils sur les performances spécifiques à Perl.

Profiler votre application

Profilez votre application pour l'utilisation du processeur et de la mémoire afin d'identifier les goulots d'étranglement des performances. Devel::NYTProf est un profileur de code source Perl riche en fonctionnalités que vous pouvez utiliser pour analyser le temps d'exécution.

Version de Perl

Passez régulièrement à une version plus récente de Perl pour bénéficier d'améliorations des performances d'exécution. Téléchargez la dernière version à partir des versions de code source CPAN Perl, et vérifiez la version minimale requise pour la bibliothèque dans les exigences du fichier README.

Journalisation

Une journalisation étendue peut entraîner des pénalités importantes en termes de temps d'exécution et de consommation de mémoire. Définissez le niveau de journalisation sur WARN pour tout code en production.

Pour en savoir plus sur la configuration des enregistreurs de journaux récapitulatifs et détaillés , consultez le guide de journalisation.

SearchStream ou Search

L'API Google Ads fournit deux méthodes principales pour récupérer des objets : Search (qui utilise la pagination) et SearchStream (qui utilise le streaming). SearchStream offre de meilleures performances que Search, bien que dans certains cas où Search puisse être préférable.

Pour une comparaison détaillée des deux méthodes, consultez le guide de streaming.

Optimisation et traitement par lot des charges utiles

Pour minimiser la surcharge réseau et la consommation de mémoire :

  • Ne demandez que les champs spécifiques dont votre application a besoin dans vos requêtes Google Ads Query Language (GAQL).
  • Regroupez plusieurs opérations de mutation dans une seule requête mutate au lieu d'envoyer des requêtes individuelles pour chaque modification.

Délai avant expiration HTTP

La bibliothèque cliente Perl fournit un paramètre permettant de configurer les délais avant expiration HTTP au niveau du client :

my $api_client = Google::Ads::GoogleAds::Client->new({
  # Set HTTP timeout to 5 minutes (300 seconds).
  http_timeout => 300,
});

La valeur par défaut est de 3600 secondes (1 heure), définie en fonction de la DEFAULT_HTTP_TIMEOUT constante dans Constants.pm. Définissez un délai avant expiration personnalisé pour le client si vous devez appliquer une limite plus courte à la durée maximale d'un appel d'API.

Vous pouvez définir le délai avant expiration sur deux heures ou plus, mais l'API peut toujours expirer les requêtes très longues et renvoyer une erreur DEADLINE_EXCEEDED. Si vous rencontrez cette erreur, divisez la requête en plus petits morceaux et exécutez-les en parallèle. Cela évite qu'une requête de longue durée échoue et que la seule façon de la récupérer soit de la déclencher à nouveau depuis le début.