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 de ces bonnes pratiques s'appliquent à toutes les langues. Ce guide présente celles qui sont spécifiques à Perl.

Profiler votre application

Profilage de votre application pour l'utilisation du processeur et de la mémoire afin d'identifier les goulots d'étranglement de performances Devel::NYTProf est un outil de profilage du code source Perl puissant et doté de nombreuses fonctionnalités que vous pouvez explorer.

Version de Perl

Il est recommandé de passer régulièrement à une version plus récente de Perl, car elle offre généralement de meilleures performances globales. Pour connaître la dernière version de Perl et la version minimale requise pour la bibliothèque, consultez cette page.

Journalisation

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

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

Méthode Search ou SearchStream

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 la méthode Search, mais il peut y avoir certains scénarios où la méthode Search est préférable.

Pour en savoir plus sur ces deux méthodes, cliquez ici.

Délai avant expiration HTTP

La bibliothèque cliente Perl fournit une surface permettant de définir des délais avant expiration HTTP au niveau du client:

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

La valeur par défaut est définie en fonction du paramètre DEFAULT_HTTP_TIMEOUT dans Constants.pm. Définissez une valeur inférieure 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 extrêmement longues et renvoyer une erreur DEADLINE_EXCEEDED. Si vous rencontrez cette erreur, divisez la requête et exécutez les segments en parallèle. Vous éviterez ainsi qu'une requête de longue durée échoue et que le seul moyen de la récupérer soit de la déclencher à nouveau depuis le début.