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.