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 à toutes les langues. Cette page présente des conseils d'optimisation des 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 sources de CPAN Perl, puis vérifiez la version minimale requise pour la bibliothèque dans les exigences du fichier README.

Journalisation

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

Pour en savoir plus sur la configuration des enregistreurs de résumé et de détail, consultez le guide de journalisation.

SearchStream et Search

L'API Google Ads propose 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 Search puisse être préférable dans certains scénarios.

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 (une heure), définie en fonction de la constante DEFAULT_HTTP_TIMEOUT dans Constants.pm. Définissez un délai avant expiration du client personnalisé si vous devez appliquer une limite plus courte pour 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 pour les requêtes extrêmement longues et renvoyer une erreur DEADLINE_EXCEEDED. Si vous rencontrez cette erreur, divisez la requête en plusieurs parties plus petites 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 récupérer soit de déclencher à nouveau la requête depuis le début.