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 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

Mettez régulièrement à niveau vers 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 source Perl CPAN 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 et Recherche

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 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 regroupement de la charge utile

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 d'attente 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 d'inactivité 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 pour les requêtes de très longue durée et renvoyer une erreur DEADLINE_EXCEEDED. Si vous rencontrez cette erreur, divisez la requête en blocs plus petits et exécutez-les en parallèle. Cela évite le cas où une requête de longue durée échoue et où la seule façon de la récupérer est de la déclencher à nouveau depuis le début.