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 ceux qui sont 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. 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é de passer régulièrement à une version plus récente de Perl, car elle offre généralement de meilleures performances globales. Consultez cette page pour connaître la dernière version de Perl et la version minimale requise pour la bibliothèque sur cette page.
Journalisation
Une journalisation intensive peut entraîner des pénalités importantes en termes 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.
Pour en savoir plus sur la configuration des enregistreurs de 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 exister certains scénarios dans lesquels la méthode Search
peut être préférable.
Pour en savoir plus sur ces deux méthodes, cliquez ici.
Délai d'expiration HTTP
La bibliothèque cliente Perl permet de définir des délais d'attente 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 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 et exécutez les blocs en parallèle. Cela évite qu'une requête de longue durée échoue et que la seule façon de la récupérer soit de la déclencher à nouveau depuis le début.