Rendimento

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.