Rendimento

La libreria client per Perl semplifica le interazioni con l'API Google Ads, con una configurazione minima da parte tua. Tuttavia, il rendimento dipende in modo significativo da come la libreria viene utilizzata e integrata.

La maggior parte delle best practice generali sono applicabili a tutte le lingue. Questa pagina fornisce indicazioni sul rendimento specifiche per Perl.

Profila l'applicazione

Esegui la profilazione della tua applicazione per l'utilizzo di CPU e memoria utilizzata per identificare i colli di bottiglia delle prestazioni. Devel::NYTProf è un profiler del codice sorgente Perl ricco di funzionalità che puoi utilizzare per analizzare il tempo di esecuzione.

Versione Perl

Esegui regolarmente l'upgrade a una versione più recente di Perl per usufruire dei miglioramenti delle prestazioni del runtime. Scarica l'ultima release dalle release del codice sorgente CPAN Perl e controlla la versione minima richiesta per la libreria nei requisiti del file README.

Logging

La registrazione estesa può comportare penalità significative in termini di tempo di esecuzione e consumo di memoria. Imposta il livello di logging su WARN per qualsiasi codice in produzione.

Per ulteriori dettagli sulla configurazione dei logger di riepilogo e dettagli, consulta la guida alla registrazione.

SearchStream e Ricerca

L'API Google Ads fornisce due metodi principali per recuperare gli oggetti: Search (che utilizza l'impaginazione) e SearchStream (che utilizza lo streaming). SearchStream offre un rendimento migliore rispetto a Search, anche se in alcuni scenari potrebbe essere preferibile Search.

Per un confronto dettagliato tra i due metodi, consulta la guida allo streaming.

Ottimizzazione e raggruppamento dei payload

Per ridurre al minimo il sovraccarico di rete e il consumo di memoria:

  • Richiedi solo i campi specifici di cui la tua applicazione ha bisogno nelle query Google Ads Query Language (GAQL).
  • Raggruppa più operazioni di mutazione in un'unica richiesta mutate anziché inviare singole richieste per ogni modifica.

Timeout HTTP

La libreria client Perl fornisce un'impostazione per configurare i timeout HTTP a livello di client:

my $api_client = Google::Ads::GoogleAds::Client->new({
  # Set HTTP timeout to 5 minutes (300 seconds).
  http_timeout => 300,
});

Il valore predefinito è 3600 secondi (1 ora), impostato in base alla costante DEFAULT_HTTP_TIMEOUT in Constants.pm. Imposta un timeout client personalizzato se devi applicare un limite inferiore al tempo massimo per una chiamata API.

Puoi impostare il timeout su 2 ore o più, ma l'API potrebbe comunque andare in timeout per richieste di esecuzione estremamente lunga e restituire un errore DEADLINE_EXCEEDED. Se si verifica questo errore, dividi la richiesta in blocchi più piccoli ed eseguili in parallelo. In questo modo si evita la situazione in cui una richiesta a esecuzione prolungata non va a buon fine e l'unico modo per recuperarla è riavviarla dall'inizio.