Freigeben über


Debuggen mithilfe des physischen Auftragsdiagramms (Vorschau) in Azure-Portal

Das physische Auftragsdiagramm im Azure-Portal kann Ihnen helfen, die wichtigsten Metriken Ihres Auftrags mittels Streamingknoten im Diagramm- oder Tabellenformat zu visualisieren, z. B. CPU-Auslastung, Arbeitsspeicherauslastung, Eingabeereignisse, Partitions-IDs und Wasserzeichenverzögerung. Es hilft Ihnen bei der Problembehandlung, die Ursache eines Problems zu identifizieren.

In diesem Artikel wird veranschaulicht, wie Sie das physische Auftragsdiagramm verwenden, um die Leistung eines Auftrags zu analysieren und seinen Engpass im Azure-Portal schnell zu identifizieren.

Wichtig

Dieses Feature befindet sich derzeit in der VORSCHAU. Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

Identifizieren der Parallelität eines Auftrags

„Auftrag mit Parallelisierung“ ist das skalierbare Szenario in Stream Analytics, das eine bessere Leistung bieten kann. Wenn sich ein Auftrag nicht im Parallelmodus befindet, gibt es r wahrscheinlich einen spezifischen Engpass bei seiner Leistung. Es ist wichtig zu ermitteln, ob sich ein Auftrag im Parallelmodus befindet oder nicht. Das physische Auftragsdiagramm stellt ein visuelles Diagramm bereit, um die Parallelität von Aufträgen zu veranschaulichen. Wenn es zwischen verschiedenen Streamingknoten zu Dateninteraktionen kommt, ist dieser Auftrag im physischen Auftragsdiagramm ein nicht paralleler Auftrag, der weitere Aufmerksamkeit benötigt. Sehen Sie beispielsweise das folgende Diagramm des nicht parallelen Auftrags:

Screenshot, der den nicht parallelen Auftrag im physischen Diagramm zeigt.

Sie können erwägen, ihn zu einem parallelen Auftrag (wie in dem unten stehenden Beispiel) zu optimieren, indem Sie Ihre Abfrage neu schreiben oder Eingabe-/Ausgabekonfigurationen mit dem Auftragsdiagrammsimulator in der ASA-Erweiterung von Visual Studio Code oder im Abfrage-Editor im Azure-Portal aktualisieren. Weitere Informationen finden Sie unter Optimieren der Abfrage mithilfe des Auftragsdiagrammsimulators (Vorschau).

Screenshot, der die Datenschiefeansicht mit physischem Diagramm zeigt.

Wichtige Metriken zur Identifizierung des Engpasses eines parallelen Auftrags

Wasserzeichenverzögerung und im Rückstand befindliche Eingabeereignisse sind die wichtigsten Metriken zur Bestimmung der Leistung Ihres Stream Analytics-Auftrags. Wenn die Wasserzeichenverzögerung Ihres Auftrags kontinuierlich ansteigt und es zu einem Rückstand von Eingabeereignissen kommt, kann Ihr Auftrag nicht mit der Rate der Eingabeereignisse Schritt halten und rechtzeitig Ausgaben produzieren. Aus Sicht der Berechnungsressource werden die CPU- und Arbeitsspeicherressourcen in hohem Umfang genutzt, wenn dieser Fall auftritt.

Das physische Auftragsdiagramm visualisiert diese wesentlichen Metriken zusammen in dem Diagramm, um Ihnen ein vollständiges Bild zu bieten, um so den Engpass leicht identifizieren zu können.

Screenshot der wichtigsten Metriken auf einem Knoten im physischen Diagramm.

Weitere Informationen zur Definition der Metriken finden Sie unter Dimension des Azure Stream Analytics-Knotennamens.

Identifizieren der ungleichmäßig verteilten Eingabeereignisse (Datenschiefe)

Wenn Sie bereits einen Auftrag im Parallelmodus ausführen, aber eine hohe Wasserzeichenverzögerung beobachten, verwenden Sie diese Methode, um die Ursache zu bestimmen.

Um die Grundursache zu finden, öffnen Sie das physische Auftragsdiagramm im Azure-Portal. Wählen Sie Auftragsdiagramm (Vorschau) unter Überwachung aus, und wechseln Sie zu Physisches Diagramm.

Screenshot, der die Datenschiefeansicht mit physischem Diagramm zeigt.

In dem physischen Diagramm können Sie problemlos identifizieren, ob es bei allen Partitionen zu hohen Wasserzeichenverzögerungen kommt, oder nur bei einigen davon, indem Sie den Wert der Wasserzeichenverzögerung in jedem Knoten anzeigen oder die Wärmebild-Einstellung für die Wasserzeichenverzögerung auswählen, um die Streamingknoten zu sortieren (empfohlen):

Screenshot der Wärmebild-Einstellung für die Wasserzeichenverzögerung.

Nachdem Sie die oben vorgenommenen Wärmebild-Einstellungen angewendet haben, werden in der linken oberen Ecke die Streamingknoten mit hoher Wasserzeichenverzögerung angezeigt. Sie können dann überprüfen, ob bei den entsprechenden Streamingknoten deutlich mehr Eingabeereignisse vorliegen als bei anderen. In diesem Beispiel liegen bei streamingnode#0 und streamingnode#1 mehr Eingabeereignisse vor.

Screenshot der Datenschiefe-Ansicht mit physischem Diagramm im Wärmebild der Wasserzeichenverzögerung.

Weiterhin können Sie überprüfen, wie viele Partitionen den Streamingknoten einzeln zugeordnet sind, um herauszufinden, ob die erhöhten Eingabeereignisse von mehreren zugeordneten Partitionen verursacht werden oder durch eine bestimmte Partition, deren Eingabeereignisse erhöht sind. In diesem Beispiel verfügen alle Streamingknoten über zwei Partitionen. Dies bedeutet, dass streamingnode#0 und streamingnode#1 eine bestimmte spezifische Partition besitzen, die mehr Eingabeereignisse als andere Partitionen enthält.

Um zu lokalisieren, welche Partition mehr Eingabeereignisse aufweist als andere Partitionen in streamingnode#0 und streamingnode#1, führen Sie folgende Schritte aus:

  • Wählen Sie Diagramm hinzufügen im Diagrammabschnitt aus.
  • Fügen Sie Eingabeereignisse in Metrik und Partitions-ID in Splitter hinzu.
  • Wählen Sie Anwenden aus, um das Diagramm der Eingabeereignisse anzuzeigen.
  • Wählen Sie im Diagramm streamingnode#0 und streamingnode#1 aus.

Unten sehen Sie das Diagramm mit nach den Partitionen in den zwei Streamingknoten gefilterter Ereignisse-Metrik.

Screenshot der nach Partition und Knoten aufgeteilten Eingabeereignisse.

Welche weiteren Maßnahmen können Sie ergreifen?

Wie im Beispiel gezeigt, erhalten die Partitionen (0 und 1) mehr Eingabedaten als andere Partitionen. Wir bezeichnen dies als Datenschiefe. Die Streamingknoten, die die Partitionen mit Datenschiefe verarbeiten, müssen mehr CPU- und Arbeitsspeicherressourcen verbrauchen als andere. Dieses Ungleichgewicht führt zu langsamerer Leistung und erhöht die Wasserzeichenverzögerung. Sie können die CPU- und Arbeitsspeicherauslastung in den beiden Streamingknoten sowie im physischen Diagramm überprüfen. Um das Problem zu entschärfen, müssen Sie Ihre Eingabedaten gleichmäßiger aufteilen (neu partitionieren).

Identifizieren der Ursache für überlastete CPU oder überlasteten Arbeitsspeicher

Wenn ein paralleler Auftrag eine zunehmende Wasserzeichenverzögerung ohne die zuvor erwähnte Situation einer Datenschiefe aufweist, kann dies durch eine erhebliche Menge an Daten auf allen Streamingknoten verursacht werden, die die Leistung behindert. Sie können mithilfe des physischen Diagramms feststellen, ob der Auftrag dieses Merkmal aufweist.

  1. Öffnen Sie das physische Auftragsdiagramm, wechseln Sie zum Azure-Portal Ihres Auftrags unter Überwachung, wählen Sie Auftragsdiagramm (Vorschau) aus, und wechseln Sie zu Physisches Diagramm. Das physische Diagramm wird wie unten gezeigt geladen.

    Screenshot der Übersicht des Auftrags mit überlasteter CPU und überlastetem Arbeitsspeicher.

  2. Überprüfen Sie die CPU- und Arbeitsspeicherauslastung bei jedem Streamingknoten, um festzustellen, ob die Auslastung in allen Streamingknoten zu hoch ist. Wenn die CPU- und Arbeitsspeicherauslastung in allen Streamingknoten hoch ist (mehr als 80 Prozent), können Sie daraus schließen, dass bei diesem Auftrag in jedem Streamingknoten eine große Datenmenge verarbeitet wird.

    Bei dem obigen Fall beträgt die CPU-Auslastung rund 90 %, und die Arbeitsspeicherauslastung beträgt bereits 100 %. Dies zeigt, dass bei jedem Streamingknoten durch die Verarbeitung der Daten die Ressourcen ausgehen.

    Screenshot der überlasteten CPU und des überlasteten Arbeitsspeichers in allen Knoten.

  3. Überprüfen Sie, wie viele Partitionen jedem Streamingknoten zugewiesen sind, damit Sie entscheiden können, ob Sie mehr Streamingknoten benötigen, um die Partitionen auszugleichen und so die Belastung der vorhandenen Streamingknoten zu verringern.

    In diesem Fall sind jedem Streamingknoten vier Partitionen zugeordnet, was für einen Streamingknoten als zu viel erscheint.

Welche weiteren Maßnahmen können Sie ergreifen?

Erwägen Sie, die Partitionsanzahl für jeden Streamingknoten zu verringern, um die Eingabedaten zu reduzieren. Sie könnten die jedem Streamingknoten zugewiesenen SUs auf zwei Partitionen pro Knoten verdoppeln, indem Sie die Anzahl der Streamingknoten von 8 auf 16 erhöhen. Oder Sie können die SUs vervierfachen, damit jeder Streamingknoten die Daten einer Partition verarbeiten kann.

Weitere Informationen zur Beziehung zwischen Streamingknoten und Streamingeinheit finden Sie unter Grundlegendes zu Streamingeinheit und Streamingknoten.

Wie können Sie vorgehen, wenn die Wasserzeichenverzögerung weiter zunimmt, während ein Streamingknoten die Daten von einer Partition bearbeitet? Partitionieren Sie Ihre Eingabe mit mehreren Partitionen neu, um die Datenmenge in jeder Partition zu reduzieren. Weitere Informationen finden Sie unter Verwenden der Neupartitionierung zur Optimierung von Azure Stream Analytics-Aufträgen.

Nächste Schritte