Puoi visualizzare i grafici di monitoraggio della scalabilità automatica per i job di flussi di dati nell'interfaccia di monitoraggio di Dataflow. Questi grafici mostrano le metriche relative alla durata di un job della pipeline e includono le seguenti informazioni:
- Il numero di istanze worker utilizzate dal job in un determinato momento
- I file di log della scalabilità automatica
- Il backlog stimato nel tempo
- L'utilizzo medio della CPU nel tempo
I grafici sono allineati verticalmente in modo da poter correlare le metriche di backlog e utilizzo della CPU con gli eventi di scalabilità dei worker.
Per saperne di più su come Dataflow prende le decisioni di scalabilità automatica, consulta la documentazione sulle funzionalità di ottimizzazione automatica. Per saperne di più sul monitoraggio e sulle metriche di Dataflow, consulta Utilizza l'interfaccia di monitoraggio di Dataflow.
Accedi ai grafici di monitoraggio della scalabilità automatica
Puoi accedere all'interfaccia di monitoraggio di Dataflow utilizzandoGoogle Cloud console. Per accedere alla scheda delle metriche di scalabilità automatica, segui questi passaggi:
- Accedi alla console Google Cloud .
- Selezionare il tuo progetto Google Cloud .
- Apri il menu di navigazione.
- In Analisi, fai clic su Dataflow. Viene visualizzato un elenco di job Dataflow con il relativo stato.
- Fai clic sul job che vuoi monitorare, quindi 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 con scalabilità automatica. Il numero di istanze worker può variare 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 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 i log di scalabilità automatica.
Per visualizzare la cronologia delle modifiche della scalabilità automatica, fai clic su Altra cronologia. Viene visualizzata una tabella con le 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.
Logica di fondo della scalabilità automatica (solo Streaming Engine)
Il grafico Motivazione della scalabilità automatica mostra il motivo per cui il gestore della scalabilità automatica ha eseguito lo scale up, lo scale down o non ha eseguito alcuna azione durante un determinato periodo di tempo.
Per visualizzare una descrizione della motivazione in un punto specifico, tieni il puntatore sopra il grafico.
La tabella seguente elenca le azioni di scalabilità e le possibili motivazioni.
| Azione di scalabilità | Rationale | Descrizione |
|---|---|---|
| Nessuna modifica alla scalabilità | Stiamo raccogliendo più dati per prendere una decisione | 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 di backlog o utilizzo sono in fluttuazione. |
| Nessuna variazione di scalabilità, indicatori stabili | Limite non correlato alle risorse raggiunto | La scalabilità è limitata da un limite come il parallelismo delle chiavi o il numero minimo e massimo di worker configurati. |
| Limite relativo ai risultati pianificati raggiunto | La scalabilità è limitata dal numero minimo o massimo di worker di una pianificazione di scalabilità automatica attiva. | |
| Backlog ridotto e utilizzo elevato dei worker | La scalabilità automatica della pipeline ha raggiunto un valore stabile in base al traffico e alla configurazione attuali. Non è necessaria alcuna modifica della scalabilità. | |
| Scale up | Backlog elevato | Scaling up per ridurre il backlog. |
| Utilizzo elevato dei worker | Scale up per raggiungere l'utilizzo della CPU target. | |
| Limite non correlato alle risorse raggiunto | Il numero minimo di worker è stato aggiornato e il numero attuale di worker è inferiore al minimo configurato. | |
| Limite relativo ai risultati pianificati raggiunto | È attiva una pianificazione della scalabilità automatica e il numero attuale di worker è inferiore al numero minimo di worker della pianificazione. | |
| Fai lo scale down | Utilizzo ridotto dei worker | Fare lo scale down per raggiungere l'utilizzo della CPU target. |
| Limite non correlato alle risorse raggiunto | Il numero massimo di worker è stato aggiornato e il numero attuale di worker è superiore al massimo configurato. | |
| Limite relativo ai risultati pianificati raggiunto | È attiva una pianificazione della scalabilità automatica e il numero attuale di worker è superiore al numero massimo di worker della pianificazione. |
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 di utilizzo dei worker e se Dataflow ha utilizzato attivamente il suggerimento come target.
Backlog (solo Streaming Engine)
Il grafico Backlog massimo fornisce informazioni sugli elementi in attesa di elaborazione. Il grafico mostra una stima del tempo in secondi necessario per smaltire il backlog attuale se non arrivano nuovi dati e il throughput non cambia. Il tempo di backlog stimato viene calcolato sia in base al throughput sia in base ai byte di backlog dell'origine di input che devono ancora essere elaborati. Questa metrica viene utilizzata dalla funzionalità di scalabilità automatica in modalità flusso 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 tuo job di flussi di dati non utilizza Streaming Engine, il grafico è vuoto.
Consigli
Ecco alcuni comportamenti che potresti osservare nella tua pipeline e consigli su come ottimizzare la scalabilità automatica:
Downscaling eccessivo. Se l'utilizzo della CPU target è impostato su un valore troppo alto, potresti notare un pattern in cui Dataflow esegue lo scale down, il backlog inizia a crescere e Dataflow esegue nuovamente lo scale up per compensare, anziché convergere su un numero stabile di worker. Per mitigare questo problema, prova a impostare un suggerimento di utilizzo dei worker più basso. Osserva l'utilizzo della CPU nel punto in cui il backlog inizia a crescere e imposta il suggerimento di utilizzo su quel valore.
Upscaling troppo lento. Se lo scale up è troppo lento, potrebbe non stare al passo con i picchi di traffico, causando periodi di latenza maggiore. Prova a ridurre il suggerimento sull'utilizzo dei worker, in modo che Dataflow esegua lo scale up più rapidamente. Osserva l'utilizzo della CPU nel punto in cui il backlog inizia a crescere e imposta il suggerimento di utilizzo su quel valore. Monitora sia la latenza che il costo, perché un valore di suggerimento inferiore può aumentare il costo totale della pipeline se viene eseguito il provisioning di più worker.
Upscaling eccessivo. Se noti un upscaling eccessivo, con conseguente aumento dei costi, valuta la possibilità di aumentare il suggerimento per l'utilizzo dei worker. Monitora la latenza per assicurarti che rimanga entro limiti accettabili per il tuo scenario.
Per saperne di più, consulta Imposta il suggerimento per l'utilizzo dei worker. Quando sperimenti un nuovo valore del suggerimento di utilizzo dei worker, attendi qualche minuto per consentire alla pipeline di stabilizzarsi dopo ogni aggiustamento.