Dataflow-Autoscaling überwachen

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

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

Die Diagramme sind vertikal ausgerichtet, sodass Sie die Rückstands- und CPU-Auslastungsmesswerte mit Worker-Skalierungsereignissen korrelieren können.

Weitere Informationen zu den Autoscaling-Entscheidungen durch Dataflow finden Sie in der Dokumentation zu Autotuning-Features. Weitere Informationen zum Monitoring und zu den Messwerten von Dataflow finden Sie unter Dataflow-Monitoring-Oberfläche verwenden.

Auf Autoscaling-Monitoring-Diagramme zugreifen

Sie können mit der Google Cloud Console auf die Monitoring-Oberfläche von Dataflow zugreifen. So greifen Sie auf den Tab Messwerte 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-Benutzeroberfläche ansehen. Die Messwerte sind in folgenden Diagrammen organisiert:

In der Leiste für die Autoscaling-Aktion 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.

Datenvisualisierung, die die Gründe für das Autoscaling zeigt.

Halten Sie den Mauszeiger über das Diagramm, um eine Beschreibung der Begründung an einem bestimmten Punkt aufzurufen.

Datenvisualisierung, die eine Beschreibung der Gründe für das Autoscaling 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 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 erreichen Die Skalierung wird durch ein Limit wie Schlüsselparallelität oder die konfigurierten minimalen und maximalen Worker-Instanzen eingeschränkt.
Geringer Rückstand und hohe Worker-Auslastung Das Autoscaling der Pipeline hat sich aufgrund des aktuellen Traffics und der aktuellen Konfiguration zu einem stabilen Wert konvergiert. Es ist keine Skalierungsänderung erforderlich.
Hochskalieren Hoher Rückstand Hochskalieren, um Rückstände zu reduzieren.
Hohe Worker-Auslastung Hochskalieren, um die Ziel-CPU-Auslastung zu erreichen
Nicht ressourcenbezogenes Limit erreichen Die Mindestanzahl der Worker wurde aktualisiert und die aktuelle Anzahl liegt unter der konfigurierten Mindestanzahl.
Herunterskalieren Geringe Worker-Auslastung Herunterskalieren, um die Ziel-CPU-Auslastung zu erreichen.
Nicht ressourcenbezogenes Limit erreichen Die maximale Anzahl der Worker wurde aktualisiert und die aktuelle Anzahl der Worker liegt über dem konfigurierten Maximum.

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.

Die Daten für dieses Diagramm sind nur für Jobs verfügbar, die Streaming Engine verwenden. Wenn Ihr Streamingjob keine Streaming Engine 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 der Autoscaling-Parameter:

  • Ü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. Um dieses Problem zu beheben, legen Sie einen niedrigeren Hinweis zur Worker-Auslastung fest. Beobachten Sie die CPU-Auslastung an dem Punkt, an dem der Rückstand zunimmt, und legen Sie den Auslastungshinweis auf diesen Wert fest.

  • Zu langsame Skalierung. Wenn die Hochskalierung zu langsam ist, kann sie hinter Trafficspitzen zurückbleiben, was zu Zeiten mit erhöhter Latenz führt. Versuchen Sie, den Hinweis zur Worker-Auslastung zu reduzieren, damit Dataflow schneller hochskaliert wird. Beobachten Sie die CPU-Auslastung an dem Punkt, an dem der Rückstand zunimmt, und setzen Sie den Auslastungshinweis auf diesen Wert. Überwachen Sie sowohl die Latenz als auch die Kosten, da ein niedrigerer Hinweiswert die Gesamtkosten für die Pipeline erhöhen kann, wenn mehr Worker bereitgestellt werden.

  • Übermäßige Hochskalierung: Wenn Sie eine übermäßige Hochskalierung beobachten, was zu höheren Kosten führt, sollten Sie den Hinweis zur Worker-Auslastung erhöhen. Überwachen Sie die Latenz, um sicherzustellen, dass sie innerhalb akzeptabler Grenzen für Ihr Szenario bleibt.

Wenn Sie mit einem neuen Hinweiswert für die Worker-Auslastung experimentieren, warten Sie einige Minuten, bis sich die Pipeline nach jeder Anpassung stabilisiert hat.

Nächste Schritte