La libreria client per Perl facilita le interazioni con l'API Google Ads, con configurazione del modello da parte tua. Tuttavia, le prestazioni dipendono molto da come di Cloud Shell viene utilizzata e integrata.
La maggior parte di queste best practice si applicano a tutte le lingue. Questa guida illustra quelle specifici di Perl.
Profilazione dell'applicazione
Profila l'applicazione sia per l'utilizzo di CPU che di memoria per identificare le prestazioni colli di bottiglia. Devel::NYTProf è un potente strumento Profiler del codice sorgente Perl ricco di funzionalità che puoi esplorare.
Versione Perl
È buona norma eseguire regolarmente l'upgrade a una versione di Perl più recente, come al solito migliora le prestazioni generali. Visita questa pagina per la versione Perl più recente e la versione minima richiesta per la libreria in questo .
Logging
Il logging esteso può comportare notevoli sanzioni in termini di tempo di esecuzione e memoria
il consumo eccessivo. Ti consigliamo di impostare il livello di logging su WARN
per qualsiasi codice in
e produzione.
Per ulteriori informazioni, consulta la Guida al logging informazioni dettagliate sulla configurazione dei logger di riepilogo e dettagli.
Metodo Search o SearchStream
L'API Google Ads offre due metodi principali per recuperare oggetti:
Search
(che utilizza l'impaginazione) e
SearchStream
(che utilizza lo streaming).
SearchStream
offre prestazioni migliori rispetto al metodo Search
, ma potrebbe
situazioni in cui potrebbe essere preferito il metodo Search
.
Puoi scoprire di più sui due metodi qui.
Timeout HTTP
La libreria client Perl fornisce una piattaforma per l'impostazione dei timeout HTTP sul client livello:
my $api_client = Google::Ads::GoogleAds::GoogleAdsClient->new({
# Set HTTP timeout to 5 minutes.
http_timeout => 300
});
Il valore predefinito è configurato in base all'impostazione DEFAULT_HTTP_TIMEOUT
in
Constants.pm.
Imposta un valore più basso se
Devi applicare un limite più breve per il tempo massimo per una chiamata API.
Puoi impostare il timeout su 2 ore o più, ma l'API potrebbe comunque scadere
a lunga esecuzione e restituisce un
DEADLINE_EXCEEDED
.
Se riscontri questo errore, suddividi la richiesta ed esegui i blocchi in
parallelo; Ciò evita la situazione in cui una richiesta a lunga esecuzione non va a buon fine
l'unico modo per recuperare è attivare di nuovo la richiesta dall'inizio.