Performances

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 à toutes les langues. Ce guide décrit ceux spécifiques à Perl.

Profiler votre application

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

Version de PERL

Il est recommandé d'effectuer régulièrement une mise à niveau vers une version plus récente de Perl, car cela 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 pertes importantes de temps d'exécution et de 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 par rapport à la méthode Search, mais dans certains cas, la méthode Search peut être préférable.

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

Délai avant expiration HTTP

La bibliothèque cliente Perl permet 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 de 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 dépasser le délai 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 évite l'échec d'une requête de longue durée et le seul moyen de récupérer la requête consiste à la déclencher à nouveau depuis le début.