Puoi visualizzare i grafici di monitoraggio con scalabilità automatica per i job di elaborazione in modalità flusso all'interno dell'interfaccia di monitoraggio Dataflow. Questi grafici mostrano le metriche relative alla durata di un job di pipeline e includono le seguenti informazioni:
- Il numero di istanze worker utilizzate dal job in qualsiasi momento
- Scalabilità automatica dei file di log
- Il backlog stimato nel tempo
- Utilizzo medio della CPU nel tempo
I grafici sono allineati verticalmente in modo da poter correlare le metriche di backlog e di utilizzo della CPU con gli eventi di scalabilità dei worker.
Per ulteriori informazioni su come Dataflow prende decisioni in merito alla scalabilità automatica, consulta la documentazione relativa alle funzionalità di ottimizzazione automatica. Per ulteriori informazioni sul monitoraggio e sulle metriche di Dataflow, consulta Utilizzare l'interfaccia di monitoraggio di Dataflow.
Accedi ai grafici di monitoraggio con scalabilità automatica
Puoi accedere all'interfaccia di monitoraggio di Dataflow utilizzando la console Google Cloud. Per accedere alla scheda delle metriche Scalabilità automatica:
- Accedi alla console Google Cloud.
- Selezionare il tuo progetto Google Cloud.
- Apri il menu di navigazione.
- In Analytics, fai clic su Dataflow. Viene visualizzato un elenco di job Dataflow insieme al relativo stato.
- Fai clic sul job che vuoi monitorare e poi sulla scheda Scalabilità automatica.
Monitora le metriche di scalabilità automatica
Il servizio Dataflow sceglie automaticamente il numero di istanze worker necessarie per eseguire il job di scalabilità automatica. Il numero di istanze worker può cambiare nel tempo in base ai requisiti del job.
Puoi visualizzare le metriche di scalabilità automatica nella scheda Scalabilità automatica dell'interfaccia di Dataflow. Ogni metrica è organizzata nei seguenti grafici:
La barra delle azioni di scalabilità automatica mostra lo stato attuale della scalabilità automatica e il numero di worker.
Scalabilità automatica
Il grafico di scalabilità automatica mostra un grafico delle serie temporali del numero attuale di worker, del numero target di worker e del numero minimo e massimo di worker.
Per visualizzare i log di scalabilità automatica, fai clic su Mostra log di scalabilità automatica.
Per visualizzare la cronologia delle modifiche alla scalabilità automatica, fai clic su Più cronologia. Viene visualizzata una tabella con informazioni sulla cronologia dei worker della pipeline. La cronologia include gli eventi di scalabilità automatica, incluso se il numero di worker ha raggiunto il numero minimo o massimo di worker.
Motivazione per la scalabilità automatica (solo Streaming Engine)
Il grafico Motivazione della scalabilità automatica mostra perché il gestore della scalabilità automatica ha fatto lo scale up, lo scale down o non ha intrapreso alcuna azione durante un determinato periodo di tempo.
Per visualizzare una descrizione della motivazione in un determinato punto, tieni il puntatore sul grafico.
Nella tabella seguente sono elencate le azioni di scalabilità e i possibili motivi di scalabilità.
Azione di scalabilità | Motivazione | Descrizione |
---|---|---|
Nessuna modifica nella scalabilità | Raccogliere più dati per prendere decisioni | Il gestore della scalabilità automatica non dispone di indicatori sufficienti per fare lo scale up o lo scale down. Ad esempio, lo stato del pool di worker è cambiato di recente oppure le metriche relative al backlog o all'utilizzo fluttuano. |
Nessuna variazione nella scalabilità, indicatori stabili | Raggiungi il limite non correlato alle risorse | La scalabilità è limitata da un limite come il parallelismo delle chiavi o il numero minimo e massimo di worker configurati. |
Backlog ridotto e utilizzo elevato dei worker | La scalabilità automatica della pipeline è convergente in un valore stabile in base al traffico e alla configurazione attuali. Non è necessaria alcuna modifica alla scalabilità. | |
Scale up | Backlog elevato | Fare lo scale up per ridurre il backlog. |
Elevato utilizzo worker | Fare lo scale up per raggiungere l'utilizzo target della CPU. | |
Raggiungi un limite non relativo alle risorse | Il numero minimo di worker è stato aggiornato e il numero attuale di worker è inferiore al minimo configurato. | |
Scalabilità verso il basso | Basso utilizzo del worker | Fare lo scale down per raggiungere l'utilizzo target della CPU. |
Raggiungi un limite non relativo alle risorse | Il numero massimo di worker è stato aggiornato e il numero attuale di worker è superiore al massimo configurato. |
Utilizzo CPU worker
L'utilizzo della CPU è la quantità di CPU utilizzata divisa per la quantità di CPU disponibile per l'elaborazione. Il grafico Utilizzo medio della CPU mostra l'utilizzo medio della CPU per tutti i worker nel tempo, il suggerimento sull'utilizzo dei worker e se Dataflow ha utilizzato attivamente il suggerimento come destinazione.
Backlog (solo Streaming Engine)
Il grafico Backlog massimo fornisce informazioni sugli elementi in attesa di essere elaborati. Il grafico mostra una stima della quantità di tempo in secondi necessaria per utilizzare il backlog attuale se non arrivano nuovi dati e la velocità effettiva non cambia. Il tempo di backlog stimato viene calcolato sia in base alla velocità effettiva sia ai byte di backlog dell'origine di input che devono ancora essere elaborati. Questa metrica viene utilizzata dalla funzionalità di scalabilità automatica dei flussi di dati per determinare quando fare lo scale up o lo scale down.
I dati per questo grafico sono disponibili solo per i job che utilizzano Streaming Engine. Se il job di flusso dei dati non utilizza Streaming Engine, il grafico è vuoto.
Suggerimenti
Ecco alcuni comportamenti che potresti osservare nella tua pipeline e suggerimenti su come regolare i parametri di scalabilità automatica:
Ridimensionamento eccessivo. Se l'utilizzo della CPU target è impostato su un valore troppo elevato, potresti visualizzare un pattern in cui Dataflow fa lo scale down, il backlog inizia ad aumentare e Dataflow fa nuovamente lo scale up per compensare, invece di convergere su un numero stabile di worker. Per limitare questo problema, prova a impostare un suggerimento per l'utilizzo dei worker inferiore. Osserva l'utilizzo della CPU nel punto in cui il backlog inizia a crescere e imposta il suggerimento sull'utilizzo su quel valore.
Scala troppo lenta. Se l'upscaling è troppo lento, potrebbe subire un ritardo rispetto ai picchi di traffico, con conseguenti periodi di maggiore latenza. Prova a ridurre il suggerimento per l'utilizzo dei worker, in modo che Dataflow faccia lo scale up più rapidamente. Osserva l'utilizzo della CPU nel punto in cui il backlog inizia ad aumentare e imposta il suggerimento di utilizzo su quel valore. Monitora la latenza e i costi, poiché un valore del suggerimento inferiore può aumentare il costo totale della pipeline, se viene eseguito il provisioning di più worker.
Aumento eccessivo delle dimensioni. Se noti un aumento eccessivo, con un conseguente aumento dei costi, ti consigliamo di aumentare il suggerimento per l'utilizzo dei worker. Monitora la latenza per assicurarti che rimanga entro limiti accettabili per il tuo scenario.
Quando sperimenti con un nuovo valore di suggerimento sull'utilizzo dei worker, attendi alcuni minuti affinché la pipeline si stabilizzi dopo ogni modifica.
Passaggi successivi
- Ottimizza la scalabilità automatica orizzontale per le pipeline in modalità flusso
- Risolvere i problemi relativi alla scalabilità automatica di Dataflow