Monitorare la scalabilità automatica di Dataflow

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 includono le seguenti informazioni:

  • Il numero di istanze di 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 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.

Accedere 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 Autoscaling:

  1. Accedi alla console Google Cloud.
  2. Selezionare il tuo progetto Google Cloud.
  3. Apri il menu di navigazione.
  4. In Analytics, fai clic su Dataflow. Viene visualizzato un elenco di job Dataflow con il relativo stato.
  5. 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 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 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.

Una visualizzazione dei dati che mostra il numero di worker in una pipeline.

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 gli eventi di scalabilità automatica, ad esempio se il numero di worker ha raggiunto il numero minimo o massimo di worker.

Tabella che mostra la cronologia dei worker di una pipeline.

Motivazione 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 intrapreso alcuna azione durante un determinato periodo di tempo.

Una visualizzazione dei dati che mostra la logica di fondo della scalabilità automatica.

Per visualizzare una descrizione della motivazione in un punto specifico, tieni premuto il cursore sul grafico.

Una visualizzazione dei dati che mostra una descrizione della logica di fondo della scalabilità automatica.

La tabella seguente elenca le azioni di scalabilità e le possibili motivazioni alla base della scalabilità.

Azione di ridimensionamento Motivazione Descrizione
Nessuna modifica alla scala Raccogliere più dati per la decisione L'autoscalabilità non dispone di indicatori sufficienti per eseguire 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 nella 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 ridotto e utilizzo elevato dei worker La scalabilità automatica della pipeline è convergente a un valore stabile in base al traffico e alla configurazione attuali. Non è necessaria alcuna modifica alla scala.
Scale up Backlog elevato Aumento della scalabilità per ridurre il backlog.
Utilizzo elevato dei worker Eseguire il ridimensionamento per raggiungere l'utilizzo della CPU target.
Hai raggiunto un limite non correlato alle risorse Il numero minimo di worker è stato aggiornato e il numero attuale di worker è inferiore al minimo configurato.
Scalabilità verso il basso Utilizzo ridotto dei worker Scalabilità verso il basso per raggiungere l'utilizzo target della CPU.
Hai raggiunto un limite non correlato alle risorse Il numero massimo di worker è stato aggiornato e il numero attuale di worker è superiore al massimo configurato.

Utilizzo della CPU dei 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.

Una visualizzazione dei dati che mostra l'utilizzo medio della CPU per tutti i worker Dataflow.

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 coda stimato viene calcolato sia in base alla velocità in bit sia in base ai byte in coda dell'origine di input che devono ancora essere elaborati. Questa metrica viene utilizzata dalla funzionalità di scalabilità automatica per lo streaming per determinare quando eseguire 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 streaming non utilizza Streaming Engine, il grafico è vuoto.

Una visualizzazione dei dati che mostra il grafico del backlog massimo in una pipeline di streaming.

Consigli

Di seguito sono riportati alcuni comportamenti che potresti osservare nella pipeline e consigli su come ottimizzare la scalabilità automatica:

  • Riduzione eccessiva. 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 imposta l'hint di utilizzo su quel valore.

  • Upscaling 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 il suggerimento di utilizzo dei worker in modo che Dataflow aumenti di dimensioni 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 sia il costo, perché un valore del suggerimento più basso può aumentare il costo totale della pipeline se vengono provisionati più worker.

  • Upscaling eccessivo. Se osservi un ridimensionamento eccessivo, con conseguente aumento dei costi, ti consigliamo di aumentare l'indicazione di utilizzo dei worker. Monitora la latenza per assicurarti che rientri nei limiti accettabili per il tuo scenario.

Per ulteriori informazioni, consulta Impostare l'indicazione sull'utilizzo dei worker. Quando esegui esperimenti con un nuovo valore dell'indicazione di utilizzo dei lavoratori, attendi qualche minuto perché la pipeline si stabilizzi dopo ogni aggiustamento.

Passaggi successivi