Puoi visualizzare i grafici di monitoraggio della scalabilità automatica per i job in streaming nell'interfaccia di monitoraggio di Dataflow. Questi grafici mostrano le metriche per la durata di un job della pipeline e includi le seguenti informazioni:
- Il numero di istanze worker utilizzate dal job in qualsiasi 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 relative al backlog e all'utilizzo della CPU con gli eventi di scalabilità dei worker.
Per ulteriori informazioni su come Dataflow prende le decisioni di 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 della scalabilità automatica
Puoi accedere all'interfaccia di monitoraggio di Dataflow utilizzando la console Google Cloud. 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 Analytics, fai clic su Dataflow. Viene visualizzato un elenco di job Dataflow con il relativo stato.
- Fai clic sul job da monitorare e poi sulla scheda Scalabilità automatica.
Monitora le metriche di scalabilità automatica
Il servizio Dataflow sceglie automaticamente il numero delle istanze worker necessarie per eseguire il job di scalabilità automatica. La Il numero di istanze worker può cambiare nel tempo a seconda del job i tuoi requisiti.
Puoi visualizzare le metriche di scalabilità automatica nella scheda Scalabilità automatica del Interfaccia di Dataflow. Ogni metrica è organizzata nei seguenti grafici:
La barra delle azioni della scalabilità automatica visualizza 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 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 lavoratori della pipeline. La cronologia include eventi di scalabilità automatica, incluso se il numero di worker ha raggiunto il numero minimo o massimo di worker.
Motivazione della scalabilità automatica (solo Streaming Engine)
Il grafico Motivazione della scalabilità automatica mostra perché il gestore della scalabilità automatica ha fatto lo scale up, ridotto o non eseguito alcuna azione durante un determinato periodo di tempo.
Per visualizzare una descrizione della motivazione in un punto specifico, tieni il puntatore sopra nel grafico.
La tabella seguente elenca le azioni di scalabilità e le possibili motivazioni di scalabilità.
Azione di scalabilità | Motivazione | Descrizione |
---|---|---|
Nessuna modifica alla scala | Raccolta di più dati per le 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 sono in fluttuazione. |
Nessuna variazione della scalabilità, indicatori stabili | Raggiungimento del limite non correlato alle risorse | La scalabilità è vincolata da un limite, ad esempio il parallelismo delle chiavi o il numero minimo e massimo di worker configurati. |
Backlog basso e utilizzo elevato del worker | La scalabilità automatica della pipeline è convergente a un valore stabile in base alla il traffico e la configurazione attuali. Non è necessaria alcuna modifica alla scala. | |
Scale up | Backlog alto | Fare lo scale up per ridurre il backlog. |
Utilizzo elevato dei worker | Fare lo scale up per raggiungere l'utilizzo target della CPU. | |
Raggiungi un limite non correlato alle risorse | È stato aggiornato il numero minimo di worker e il numero attuale di worker è inferiore al minimo configurato. | |
Scalabilità verso il basso | Utilizzo ridotto dei worker | Fare lo scale down per raggiungere l'utilizzo target della CPU. |
Raggiungi un limite non correlato alle risorse | È stato aggiornato il numero massimo di worker e il numero attuale di worker supera il limite 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, l'hint di utilizzo del worker e se Dataflow ha utilizzato attivamente l'hint come target.
Backlog (solo Streaming Engine)
Il grafico Backlog massimo fornisce informazioni sugli elementi in attesa di essere elaborati. Il grafico mostra una stima del tempo in secondi necessario per smaltire il backlog attuale se non arrivano nuovi dati e la velocità effettiva rimane invariata. Il tempo di backlog stimato è calcolata sia dalla velocità effettiva che dai byte di backlog dall'origine di input che devono ancora essere elaborati. Questa metrica è utilizzata scalabilità automatica dei flussi per stabilire quando fare lo scale up o lo scale down.
I dati di questo grafico sono disponibili solo per i job che utilizzano Streaming Engine. Se il job di streaming non utilizza Streaming Engine, il grafico è vuoto.
Consigli
Di seguito sono riportati alcuni comportamenti che potresti osservare nella pipeline e consigli su come ottimizzare la scalabilità automatica:
Ridimensionamento eccessivo. Se l'utilizzo della CPU target è impostato su un valore troppo alto, potresti riscontrare 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 attenuare il 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 di impostare il hint di utilizzo su quel valore.
Aumento delle dimensioni troppo lento. Se l'upscaling è troppo lento, potrebbe non tenere il passo con i picchi di traffico, con conseguente aumento della latenza. Prova a ridurre hint per l'utilizzo del worker, in modo che Dataflow faccia lo scale up più rapidamente. Osserva l'utilizzo della CPU nel punto in cui l'accumulo inizia a crescere e imposta il suggerimento di utilizzo su quel valore. Monitora sia la latenza sia il costo, perché un valore del suggerimento più basso può aumentare il costo totale della pipeline se vengono configurati più worker.
Upscaling eccessivo. Se noti un aumento eccessivo delle dimensioni, con conseguente il costo è maggiore, prova ad aumentare il hint di utilizzo del worker. Monitora la latenza per assicurarti che rimanga entro limiti accettabili per il tuo in questo scenario.
Per ulteriori informazioni, consulta Impostare l'indicazione sull'utilizzo dei worker. Quando speri con un nuovo valore hint di utilizzo del worker, attendi alcuni minuti affinché la pipeline si stabilizzi dopo ogni aggiustamento.
Passaggi successivi
- Ottimizzazione della scalabilità automatica orizzontale per le pipeline in modalità flusso
- Risolvere i problemi di scalabilità automatica di Dataflow