Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Informazioni su Cloud Profiler

È notoriamente difficile comprendere le prestazioni dei sistemi di produzione. Il tentativo di misurare le prestazioni negli ambienti di test di solito non replica le pressioni su un sistema di produzione. A volte è possibile eseguire il microbenchmark di parti della tua applicazione, ma in genere non riesce a replicare il carico di lavoro e il comportamento di un sistema di produzione.

La profilazione continua dei sistemi di produzione è un modo efficace per scoprire dove le risorse come i cicli di CPU e la memoria vengono consumate mentre un servizio opera nel suo ambiente di lavoro. Tuttavia, la profilazione aggiunge un ulteriore carico al sistema di produzione: per essere un modo accettabile per scoprire i modelli di consumo delle risorse, il carico aggiuntivo di profilazione deve essere ridotto.

Cloud Profiler è un profiler statistico a basso sovraccarico che raccoglie continuamente informazioni sull'utilizzo della CPU e sull'allocazione della memoria dalle applicazioni di produzione. Attribuisce queste informazioni al codice sorgente che le ha generate, aiutandoti a identificare le parti dell'applicazione che stanno consumando più risorse e grazie a queste informazioni.

Tipi di profilazione disponibili

Cloud Profiler supporta diversi tipi di profilazione in base alla lingua in cui è scritto un programma. La tabella seguente riassume i tipi di profilo supportati per lingua:

Tipo di profilo Go Java Node.js Python
Tempo CPU AY A
Heap AY A
Heap allocato A
Contesa A
Thread A
Tempo totale di esecuzione A YA

Per informazioni complete sui requisiti linguistici e su eventuali limitazioni, consulta la pagina delle istruzioni per la lingua. Per ulteriori informazioni su questi tipi di profili, consulta la sezione Concetti di profilazione.

Configurazioni supportate

Quando strusci l'applicazione per acquisire i dati del profilo, includi un agente di profilazione specifico per lingua. La tabella riportata di seguito riassume gli ambienti supportati:

Ambienti Go Java Node.js Python
Compute Engine AYYA
Google Kubernetes Engine AYYA
Ambiente flessibile di App Engine AYYA
Ambiente standard di App Engine AYYA
Dataproc A
Dataflow AA
Fuori da Google Cloud AYYA

La tabella riportata di seguito riassume i sistemi operativi supportati:

Sistemi operativi Go Java Node.js Python
Implementazione
glibc di Linux della libreria C standard
AY YA
Implementazione
musl di Linux della libreria C standard
AY (alpha) AY (alpha)

Impatto sulle prestazioni

Cloud Profiler crea un singolo profilo raccogliendo dati di profilazione, di solito per 10 secondi, ogni minuto per una singola istanza del servizio configurato in una singola zona di Compute Engine. Se, ad esempio, il tuo servizio GKE esegue 10 repliche di un pod, in un periodo di 10 minuti vengono creati circa 10 profili e ogni pod viene profilo circa una volta. Il periodo di profilazione è casuale, quindi c'è una variazione. Per scoprire di più, consulta la sezione Raccolta di profili.

L'overhead della profilazione di CPU e heap al momento della raccolta dei dati è inferiore al 5%. Assorbito nel tempo di esecuzione e in più repliche di un servizio, l'overhead è in genere inferiore allo 0,5%, rendendolo un'opzione conveniente per la profilazione sempre attiva nei sistemi di produzione.

Componenti

Cloud Profiler comprende l'agente di profilazione, che raccoglie i dati, e un'interfaccia console su Google Cloud, che consente di visualizzare e analizzare i dati raccolti dall'agente.

Agente profilazione

L'agente viene installato sulle macchine virtuali in cui viene eseguita l'applicazione. L'agente in genere è una libreria che puoi collegare alla tua applicazione quando la esegui. L'agente raccoglie i dati di profilazione durante l'esecuzione dell'app.

Per informazioni sull'esecuzione dell'agente Cloud Profiler, consulta:

Interfaccia di Profiler

Dopo che l'agente ha raccolto alcuni dati di profilazione, puoi utilizzare l'interfaccia di Profiler per vedere la relazione tra le statistiche di utilizzo della CPU e della memoria e le aree dell'applicazione.

Interfaccia di Cloud Profiler

I dati del profilo vengono conservati per 30 giorni, pertanto puoi analizzare i dati sul rendimento per periodi fino agli ultimi 30 giorni. I profili possono essere scaricati per l'archiviazione a lungo termine.

Per informazioni sull'utilizzo dell'interfaccia di Profiler, consulta Utilizzo dell'interfaccia di Profiler.

Quote e limiti

Per informazioni sulla visualizzazione e sulla gestione delle quote di Profiler, vedi Quote e limiti.

Protezione dei dati

Cloud Profiler è un servizio supportato dai Controlli di servizio VPC. Per ulteriori informazioni, consulta la documentazione sui Controlli di servizio VPC.