Sie können Diagramme zum Autoscaling-Monitoring für Streamingjobs in 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 bestimmten Zeitpunkt von Ihrem Job verwendet werden
- Die Autoscaling-Protokolldateien
- Der geschätzte Rückstand im Zeitverlauf
- Die durchschnittliche CPU-Auslastung im Zeitverlauf
Die Diagramme sind vertikal ausgerichtet, damit Sie die Messwerte für den Backlog und die CPU-Auslastung mit Ereignissen zur Worker-Skalierung in Beziehung setzen 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 Messwerten finden Sie unter Dataflow-Monitoring-Oberfläche verwenden.
Auf Diagramme zum Autoscaling-Monitoring zugreifen
Sie können mit der Google Cloud Console auf die Monitoring-Oberfläche von Dataflow zugreifen. So greifen Sie auf den Tab Autoscaling zu:
- Melden Sie sich in der Google Cloud Console an.
- Wählen Sie Ihr Google Cloud-Projekt aus.
- Öffnen Sie das Navigationsmenü.
- Klicken Sie in Analytics auf Dataflow. Eine Liste der Dataflow-Jobs mit ihrem Status wird angezeigt.
- 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 sich Autoscaling-Messwerte auf dem Tab Autoscaling der Dataflow-Benutzeroberfläche ansehen. 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. “
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.
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.
Wenn Sie eine Beschreibung der Begründung für einen bestimmten Punkt sehen möchten, bewegen Sie den Mauszeiger auf das Diagramm.
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 | Der Autoscaler hat nicht genügend Signale, um hoch- oder herunterzustufen. 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 der Worker eingeschränkt. |
Niedriger Rückstand und hohe Auslastung der Worker | Die automatische Skalierung der Pipeline hat bei aktuellem Traffic und aktueller Konfiguration einen stabilen Wert erreicht. Es sind keine Skalierungsänderungen erforderlich. | |
Hochskalieren | Hoher Backlog | Hochskalieren, um Rückstände zu reduzieren. |
Hohe Auslastung der Worker | Hochskalieren, um die Ziel-CPU-Auslastung zu erreichen. | |
Ein nicht ressourcenbezogenes Limit erreicht | Die Mindestanzahl der Worker wurde aktualisiert und die aktuelle Anzahl der Worker liegt unter der konfigurierten Mindestanzahl. | |
Herunterskalieren | Geringe Auslastung der Worker | Herunterskalieren, um die Ziel-CPU-Auslastung zu erreichen. |
Ein nicht ressourcenbezogenes Limit erreicht | Die maximale Anzahl von Workern wurde aktualisiert und die aktuelle Anzahl von Workern 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.
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 für Ihren Streamingjob keine Streaming Engine verwendet wird, ist das Diagramm leer.
Empfehlungen
Im Folgenden finden Sie einige Verhaltensweisen, die Sie in Ihrer Pipeline evtl. beobachten können, sowie Empfehlungen zum Anpassen des Autoscalings:
Übermäßiges Downscaling 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. Legen Sie einen niedrigeren Hinweis für die Auslastung der Worker fest, um dieses Problem zu vermeiden. Beobachten Sie die CPU-Auslastung an dem Punkt, an dem der Backlog anfängt zu wachsen, und legen Sie den Hinweis zur Auslastung auf diesen Wert fest.
Zu langsames Upscaling Wenn das Upscaling zu langsam ist, kann es hinter Spitzen bei der Zugriffszahl zurückbleiben, was zu Zeiten mit erhöhter Latenz führt. Versuchen Sie, den Hinweis zur Auslastung von Workern zu verringern, damit Dataflow schneller skaliert. Beobachten Sie die CPU-Auslastung an dem Punkt, an dem der Backlog anfängt zu wachsen, und legen Sie den Hinweis zur Auslastung auf diesen Wert fest. Beobachten 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äßiges Upscaling. Wenn Sie feststellen, dass zu viele Worker hochskaliert werden, was zu höheren Kosten führt, sollten Sie den Hinweis zur Workerauslastung erhöhen. Überwachen Sie die Latenz, damit sie innerhalb der für Ihr Szenario akzeptablen Grenzen bleibt.
Weitere Informationen finden Sie unter Hinweis zur Auslastung von Workern festlegen. Wenn Sie mit einem neuen Wert für den Hinweis zur Auslastung von Arbeitsthreads experimentieren, warten Sie nach jeder Anpassung einige Minuten, bis sich die Pipeline stabilisiert hat.