La libreria client per Perl semplifica le interazioni con l'API Google Ads, con una configurazione minima da parte tua. Tuttavia, le prestazioni dipendono in modo significativo da come la libreria viene utilizzata e integrata.
La maggior parte delle best practice generali è applicabile a tutte le lingue. Questa pagina contiene indicazioni sul rendimento specifiche per Perl.
Profila l'applicazione
Profila l'applicazione per l'utilizzo della CPU e la 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 di runtime. Scarica l'ultima release dalle release dei sorgenti Perl CPAN e controlla la versione minima richiesta per la libreria nei requisiti del file README.
Logging
Un logging esteso 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 maggiori dettagli sulla configurazione dei logger di riepilogo e di dettaglio, consulta la guida al logging.
SearchStream e Search a confronto
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 prestazioni migliori rispetto a Search, anche se esistono alcuni scenari
in cui Search potrebbe essere preferibile.
Per un confronto dettagliato dei due metodi, consulta la guida allo streaming.
Ottimizzazione e raggruppamento in batch del payload
Per ridurre al minimo l'overhead 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 modifica in un'unica richiesta
mutateanziché inviare richieste singole 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 più breve 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 le richieste con tempi di esecuzione estremamente lunghi e restituire un errore DEADLINE_EXCEEDED. Se si verifica questo errore, suddividi la richiesta in blocchi più piccoli ed eseguili in parallelo. In questo modo si evita che una richiesta con un tempo di esecuzione lungo non vada a buon fine e che l'unico modo per recuperarla sia attivarla di nuovo dall'inizio.