Performance

La bibliothèque cliente pour Perl facilite les interactions avec l'API Google Ads, avec une configuration minimale de votre part. Cependant, 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 à tous les langages. Ce guide présente celles qui sont spécifiques à Perl.

Profiler votre application

Profiler votre application pour l'utilisation du processeur et de la mémoire afin d'identifier les goulots d'étranglement qui affectent les performances Devel::NYTProf est un profileur de code source Perl riche en fonctionnalités que vous pouvez explorer.

Version Perl

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

Journalisation

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

Consultez le guide de journalisation pour en savoir plus sur la configuration des enregistreurs de résumé et de détails.

Méthode "Search" ou "SearchStream"

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 la méthode Search, mais la méthode Search peut être préférable dans certains cas.

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

Délai avant expiration HTTP

La bibliothèque cliente Perl permet de définir les 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 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 des requêtes extrêmement longues et renvoyer une erreur DEADLINE_EXCEEDED. Si vous rencontrez cette erreur, divisez la requête et exécutez les fragments en parallèle. Cela permet d'éviter l'échec d'une requête de longue durée et le seul moyen de récupérer la requête consiste à déclencher à nouveau la requête depuis le début.