Dataflow-Autoscaling überwachen

In der Dataflow-Monitoring-Oberfläche können Sie Monitoring-Diagramme für das Autoscaling von Streamingjobs aufrufen. Diese Diagramme zeigen Messwerte für die Dauer eines Pipelinejobs und enthalten folgende Informationen:

  • Die Anzahl der Worker-Instanzen, die von Ihrem Job zu einem beliebigen Zeitpunkt verwendet werden
  • Die Autoscaling-Logdateien
  • Der geschätzte Rückstand im Zeitverlauf
  • Die durchschnittliche CPU-Auslastung im Zeitverlauf

Die Diagramme sind vertikal ausgerichtet, sodass Sie die Messwerte für Backlog und CPU-Auslastung mit Worker-Skalierungsereignissen korrelieren können.

Weitere Informationen dazu, wie Dataflow Autoscaling-Entscheidungen trifft, finden Sie in der Dokumentation zu Autotuning-Features. Weitere Informationen zum Dataflow-Monitoring und zu Dataflow-Messwerten finden Sie unter Dataflow-Monitoring-Oberfläche verwenden.

Auf Monitoring-Diagramme für Autoscaling zugreifen

Sie können mit derGoogle Cloud consoleauf die Monitoring-Oberfläche von Dataflow zugreifen. So greifen Sie auf den Tab mit den Messwerten für Autoscaling zu:

  1. Melden Sie sich in der Google Cloud Console an.
  2. Wählen Sie Ihr Google Cloud Projekt aus.
  3. Öffnen Sie das Navigationsmenü.
  4. Klicken Sie in Analytics auf Dataflow. Eine Liste der Dataflow-Jobs mit ihrem Status wird angezeigt.
  5. Klicken Sie auf den Job, den Sie überwachen möchten, und dann auf den Tab Autoscaling.

Autoscaling-Messwerte überwachen

Der Dataflow-Dienst wählt automatisch die zum Ausführen des Autoscaling-Jobs erforderliche Anzahl von Worker-Instanzen aus. Die Anzahl der Worker-Instanzen kann sich im Laufe der Zeit entsprechend den Jobanforderungen ändern.

Sie können Autoscaling-Messwerte auf dem Tab Autoscaling der Dataflow-Oberfläche aufrufen. Die Messwerte sind in folgenden Diagrammen organisiert:

In der Aktionsleiste für das Autoscaling werden der aktuelle Autoscaling-Status und die Anzahl der Worker angezeigt.

Autoscaling

Das Diagramm Autoscaling zeigt ein Zeitreihendiagramm mit der aktuellen Anzahl von Workern, der Zielanzahl der Worker sowie der Mindest- und Höchstzahl von Workern. “

Eine Datenvisualisierung, die die Anzahl der Worker in einer Pipeline anzeigt.

Klicken Sie auf Autoscaling-Logs anzeigen, um die Autoscaling-Logs aufzurufen.

Klicken Sie auf Mehr Verlaufsinhalte, um den Verlauf der Autoscaling-Änderungen aufzurufen. Eine Tabelle mit Informationen zum Worker-Verlauf Ihrer Pipeline wird angezeigt. Der Verlauf umfasst Autoscaling-Ereignisse, einschließlich der Anzahl der Worker, die die minimale oder maximale Worker-Anzahl erreicht haben.

Tabelle mit dem Worker-Verlauf einer Pipeline.

Gründe für das Autoscaling (nur Streaming Engine)

Das Diagramm Gründe für das Autoscaling zeigt, warum das Autoscaling in einem bestimmten Zeitraum entweder hoch- oder herunterskaliert wurde oder keine Aktionen ausgeführt hat.

Eine Datenvisualisierung, die die Autoscaling-Begründung zeigt.

Wenn Sie eine Beschreibung der Begründung für einen bestimmten Punkt sehen möchten, bewegen Sie den Mauszeiger über das Diagramm.

Eine Datenvisualisierung, die eine Beschreibung der Autoscaling-Begründung zeigt.

In der folgenden Tabelle sind Skalierungsaktionen und mögliche Skalierungsgründe aufgeführt.

Skalierungsaktion Begründung Beschreibung
Keine Änderung der Skalierung Mehr Daten für Entscheidung sammeln Das Autoscaling hat nicht genügend Signale, um hoch- oder herunterzuskalieren. Ein Beispiel: Der Status des Worker-Pools wurde kürzlich geändert oder Rückstands- oder Auslastungsmesswerte schwanken.
Keine Änderung der Skalierung, stabile Signale Nicht ressourcenbezogenes Limit erreicht Die Skalierung ist durch ein Limit wie die Schlüsselparallelität oder die konfigurierte Mindest- und Höchstzahl von Workern eingeschränkt.
Geplantes Limit für ähnliche Videos erreicht Die Skalierung ist durch die minimale oder maximale Anzahl von Workern eines aktiven Autoscaling-Zeitplans begrenzt.
Geringer Rückstand und hohe Worker-Auslastung Das Autoscaling der Pipeline hat sich angesichts des aktuellen Traffics und der aktuellen Konfiguration auf einen stabilen Wert eingependelt. Es ist keine Änderung der Skalierung erforderlich.
Hochskalieren Hoher Rückstand Hochskalieren, um Rückstände zu reduzieren.
Hohe Worker-Auslastung Hochskalieren, um die CPU-Zielauslastung zu erreichen.
Nicht ressourcenbezogenes Limit erreicht Die Mindestanzahl der Worker wurde aktualisiert und die aktuelle Anzahl der Worker liegt unter dem konfigurierten Mindestwert.
Geplantes Limit für ähnliche Videos erreicht Ein Autoscaling-Zeitplan ist aktiv und die aktuelle Anzahl von Workern liegt unter der im Zeitplan festgelegten Mindestanzahl von Workern.
Herunterskalieren Geringe Worker-Auslastung Herunterskalieren, um die CPU-Zielauslastung zu erreichen.
Nicht ressourcenbezogenes Limit erreicht Die maximale Anzahl von Workern wurde aktualisiert und die aktuelle Anzahl von Workern liegt über dem konfigurierten Maximum.
Geplantes Limit für ähnliche Videos erreicht Ein Autoscaling-Zeitplan ist aktiv und die aktuelle Anzahl von Workern liegt über der maximalen Anzahl von Workern im Zeitplan.

Worker-CPU-Auslastung

Die CPU-Auslastung ist die genutzte CPU-Kapazität, geteilt durch die CPU-Kapazität, die für die Verarbeitung verfügbar ist. Das Diagramm Mittlere CPU-Auslastung zeigt die durchschnittliche CPU-Auslastung für alle Worker im Zeitverlauf, den Hinweis zur Worker-Auslastung und ob Dataflow den Hinweis aktiv als Ziel verwendet hat.

Datenvisualisierung, die die durchschnittliche CPU-Auslastung für alle Dataflow-Worker zeigt.

Rückstand (nur Streaming Engine)

Das Diagramm Maximaler Rückstand enthält Informationen zu Elementen, die noch verarbeitet werden müssen. Das Diagramm zeigt eine Schätzung der Zeit in Sekunden, die benötigt wird, um den aktuellen Rückstand zu verarbeiten, wenn keine neuen Daten eintreffen und sich der Durchsatz nicht ändert. Die geschätzte Rückstandszeit wird sowohl aus dem Durchsatz als auch aus den Rückstandbyte aus der Eingabequelle berechnet, die noch verarbeitet werden müssen. Dieser Messwert wird vom Feature Streaming-Autoscaling verwendet, um zu bestimmen, wann hoch- oder herunterskaliert werden soll.

Daten für dieses Diagramm sind nur für Jobs verfügbar, die die Streaming Engine verwenden. Wenn Ihr Streamingjob die Streaming Engine nicht verwendet, ist das Diagramm leer.

Datenvisualisierung, die das Diagramm für den maximalen Rückstand in einer Streaming-Pipeline zeigt.

Empfehlungen

Im Folgenden finden Sie einige Verhaltensweisen, die Sie in Ihrer Pipeline evtl. beobachten können, sowie Empfehlungen zum Anpassen des Autoscalings:

  • Übermäßiges Herunterskalieren: Wenn die Ziel-CPU-Auslastung zu hoch eingestellt ist, sehen Sie möglicherweise ein Muster, bei dem Dataflow herunterskaliert, der Rückstand wächst und Dataflow wieder hochskaliert wird, um es auszugleichen, anstatt zu einer stabilen Zahl von Workern zu konvergieren. Versuchen Sie, einen niedrigeren Hinweis zur Worker-Auslastung festzulegen, um dieses Problem zu beheben. Beobachten Sie die CPU-Auslastung an dem Punkt, an dem der Rückstand zu wachsen beginnt, und legen Sie den Auslastungshinweis auf diesen Wert fest.

  • Zu langsames Upscaling: Wenn die Hochskalierung zu langsam ist, kann sie hinter Traffic-Spitzen zurückbleiben, was zu Phasen mit erhöhter Latenz führt. Versuchen Sie, den Hinweis zur Worker-Auslastung zu reduzieren, damit Dataflow schneller hochskaliert. Beobachten Sie die CPU-Auslastung an dem Punkt, an dem der Rückstand zu wachsen beginnt, und legen Sie den Auslastungshinweis auf diesen Wert fest. Behalten Sie sowohl die Latenz als auch die Kosten im Blick, da ein niedrigerer Hinweiswert die Gesamtkosten für die Pipeline erhöhen kann, wenn mehr Worker bereitgestellt werden.

  • Übermäßiges Hochskalieren. Wenn Sie eine übermäßige Hochskalierung feststellen, die zu höheren Kosten führt, sollten Sie den Hinweis zur Worker-Auslastung erhöhen. Beobachten Sie die Latenz, um sicherzustellen, dass sie innerhalb der für Ihr Szenario akzeptablen Grenzen bleibt.

Weitere Informationen finden Sie unter Hinweis zur Worker-Auslastung festlegen. Wenn Sie mit einem neuen Wert für den Worker-Auslastungshinweis experimentieren, warten Sie nach jeder Anpassung einige Minuten, bis sich die Pipeline stabilisiert hat.

Nächste Schritte