Empfehlungen zum Sammeln von Leistungsdaten

Gilt für die folgende Checkliste zur Leistungseffizienz von Azure Well-Architected Framework:

PE:04 Erfasst Leistungsdaten. Workloadkomponenten und -flows sollten automatische, kontinuierliche und aussagekräftige Metriken und Protokolle bereitstellen. Sammeln Sie Daten auf verschiedenen Ebenen der Workload, z. B. auf Anwendungs-, Plattform-, Daten- und Betriebssystemebene.

Beim Sammeln von Leistungsdaten werden Metriken und Protokolle gesammelt, die Informationen zur Leistung einer Workload bereitstellen. Diese Daten enthalten numerische Werte, die als Metriken bezeichnet werden. Metriken beschreiben den Zustand des Systems zu einem bestimmten Zeitpunkt. Es enthält auch Protokolle, die verschiedene Datentypen enthalten, die in Datensätzen organisiert sind.

Durch das Sammeln von Leistungsdaten können Sie die Leistung einer Workload überwachen und analysieren. Sie können diese Informationen verwenden, um Leistungsengpässe zu identifizieren, Probleme zu beheben, die Ressourcenzuordnung zu optimieren und datengesteuerte Entscheidungen zu treffen, um die Gesamtleistungseffizienz der Workload zu verbessern.

Ohne datengesteuerte Erkenntnisse sind Ihnen die zugrunde liegenden Leistungsprobleme oder Optimierungsmöglichkeiten möglicherweise nicht bekannt. Mögliche Ergebnisse sind langsamere Antwortzeiten, verringerter Durchsatz, erhöhter Ressourcenverbrauch und letztendlich eine suboptimale Benutzererfahrung. Darüber hinaus erschwert das Fehlen von Leistungsdaten die rechtzeitige Diagnose und Problembehandlung von Problemen, was zu längeren Ausfallzeiten und geringerer Produktivität führt.

Definitionen

Begriff Definition
Aktivitätsprotokolle Protokolle, die Verwaltungsvorgänge für Ressourcen nachverfolgen, z. B. das Löschen einer Ressource.
Anwendungsprotokolle Protokolle, die Informationen zu Anwendungsereignissen, Fehlern und anderen Aktivitäten nachverfolgen, z. B. Anmeldungen und Datenbankverbindungsfehler.
Tool zur Anwendungsleistungsüberwachung (Application Performance Monitoring, APM) Ein Tool, das die Leistung einer Anwendung überwacht und meldet.
Codeinstrumentation Die direkte oder indirekte Erfassung von Leistungsmetriken aus der Perspektive des Anwendungscodes. Erfasste Metriken umfassen Flussmetriken, Ressourcennutzung und Metriken, die für die Sprache oder Runtime spezifisch sind.
Verteilte Ablaufverfolgung Sammeln und Korrelieren von Metriken über verteilte Workloadkomponenten hinweg.
Metriksenke Ein Speicherziel für Ihre Metriken, das Zeitreihendaten für die Analyse korreliert.
Plattformprotokolle Diagnose- und Überwachungsdaten, die Ressourcenprotokolle, Aktivitätsprotokolle und Überwachungsprotokolle enthalten.
Plattformmetriken Numerische Werte, die die Workloadleistung zu einem bestimmten Zeitpunkt aufzeichnen.
Ressourcenprotokolle Daten, die von einem System generiert werden. Sie stellt Informationen zum Zustand des Systems bereit.
Rx/Tx-Fehler Die Anzahl der Empfangs- und Übertragungsfehler auf einer Netzwerkschnittstelle.
Strukturierte Protokollierung Definieren eines aussagekräftigen Formats zum Protokollieren von Nachrichten, in der Regel als Schlüssel-Wert-Paare.

Wichtige Entwurfsstrategien

Die Leistungsoptimierung erfordert Daten, um die aktuelle Leistung einer Workload oder eines Flows anhand ihrer Leistungsziele zu messen. Sie müssen die richtige Menge und Vielfalt an Daten sammeln, um die Leistung des Codes und der Infrastruktur anhand von Leistungszielen zu messen. Stellen Sie sicher, dass jede Komponente und jeder Flow innerhalb der Workload automatisch kontinuierliche und aussagekräftige Metriken und Protokolle generiert. Sie müssen diese Daten aus verschiedenen Ebenen wie Anwendung, Plattform, Speicher und Betriebssystem beziehen. Eine umfassende Leistungsdatensammlung ermöglicht ein ganzheitliches Verständnis der Leistung und ermöglicht eine präzise Identifizierung von Ineffizienzen und Verbesserungsmöglichkeiten.

Zentralisieren von Leistungsdaten

Bei der Zentralisierung von Leistungsmetriken und -protokollen werden Leistungsmetriken und Protokolle aus verschiedenen Quellen gesammelt und an einem zentralen Speicherort gespeichert. Erstellen Sie eine zentrale Metriksenke und eine zentrale Protokollsenke. Diese Zentralisierung ermöglicht den einfachen Zugriff, die Analyse und die Überwachung von Leistungsmetriken und Protokollen über verschiedene Systeme und Komponenten hinweg. Durch die Zentralisierung von Metriken und Protokollen erhalten Sie Einblick in die Leistung Ihrer Workload. Wählen Sie eine geeignete Plattform oder ein geeignetes Tool aus, das Metriken und Protokolle zur Workloadleistung aggregieren und speichern kann.

Kompromiss: Verstehen der Kosten für das Sammeln von Metriken und Protokollen. Im Allgemeinen gilt: Je mehr Metriken und Protokolle Sie erfassen, desto höher sind die Kosten.

Segmentieren von Leistungsdaten

Die Segmentierung von Leistungsdaten umfasst das Organisieren und Kategorisieren von Metriken und Protokollen basierend auf ihrem Ursprung, ihrem Zweck oder ihrer Umgebung. Beispielsweise sollten Sie Produktionsdaten von Nichtproduktionsdaten trennen oder zwischen Leistungszielen und Geschäftsmetriken unterscheiden. Die Segmentierung von Daten hilft bei der Optimierung bestimmter Umgebungen, erleichtert die Problembehandlung und begrenzt Ungenauigkeiten bei der Leistungsüberwachung. Wenn Sie eine klare Unterscheidung zwischen verschiedenen Datentypen beibehalten, können Sie relevante Metriken effizienter erfassen, analysieren und darauf reagieren und die Workloadintegrität besser an Workloadzielen ausrichten. Berücksichtigen Sie die folgenden Empfehlungen, um Leistungsdaten zu segmentieren:

  • Trennen Sie Produktionsdaten und Nichtproduktionsdaten. Indem Sie Daten nach Umgebung trennen, können Sie eine gezielte Überwachung und Optimierung der einzelnen Umgebungen sicherstellen. In Produktionsumgebungen können Sie Leistungsprobleme, die sich direkt auf Benutzer und Geschäftsvorgänge auswirken, besser identifizieren und beheben. In Nichtproduktionsumgebungen erleichtert die Datentrennung eine effektive Problembehandlung und Optimierung während der Testphase, bevor Sie die Bereitstellung in der Produktion durchführen.

  • Verwenden Sie einen Satz von Daten in jeder Umgebung. Verwenden Sie nicht einen Satz von Daten für Leistungsziele und einen anderen Satz von Daten für Warnungen im Zusammenhang mit den Leistungszielen. Die Verwendung verschiedener Datensätze führt zu ungenauen Warnungen, die die Effektivität der Leistungsüberwachung untergraben.

  • Trennen Sie Leistungsziele und Geschäftsmetriken. Die Betriebs- und Entwicklungsteams verwenden Leistungsziele, um die Workloadintegrität zu überwachen und Geschäftsziele zu erreichen. Geschäftsmetriken beziehen sich auf Geschäftsziele oder Kundenberichte. Erfassen Sie Geschäftsmetriken in einem separaten Datenstrom, auch wenn sich die Daten direkt überlappen. Die Trennung gibt Ihnen die Flexibilität, die richtigen Daten zu erfassen und die Daten unabhängig zu analysieren.

Definieren von Aufbewahrungsrichtlinien

Aufbewahrungsrichtlinien bestimmen, wie lange Leistungsdaten aufbewahrt werden sollen. Das Einrichten dieser Richtlinien trägt zur effizienten Speicherverwaltung bei und stellt sicher, dass nur auf die erforderlichen Daten für die Analyse zugegriffen werden kann. Solche Richtlinien unterstützen eine bessere Leistung und erfüllen Compliancestandards. Sie sollten Aufbewahrungsrichtlinien für die Protokoll- und Metrikdaten konfigurieren, um eine effektive Problembehandlung und Überwachung in allen Umgebungen zu ermöglichen. Beispielsweise müssen die Protokolle und Metriken möglicherweise länger in einer Produktionsumgebung aufbewahrt werden als in der Testumgebung. Der Aufbewahrungszeitraum sollte den Anforderungen Und Compliance-Vorschriften Ihrer organization entsprechen. Entscheiden Sie, wie lange die Daten für Analyse- und Überwachungszwecke aufbewahrt werden sollen. Archivieren Sie die Daten, die Sie für die sofortige Analyse nicht benötigen.

Sammeln von Anwendungsleistungsdaten

Das Sammeln von Anwendungsdaten umfasst die Überwachung und Analyse der Leistungsmetriken einer Anwendung, z. B. Durchsatz, Latenz und Abschlusszeiten, die hauptsächlich über Instrumentierungscode erfasst werden. Anwendungsleistungsdaten bieten wertvolle Einblicke in die Integrität und Leistung einer Anwendung. Durch die Überwachung und Analyse von Leistungsdaten können Sie Probleme identifizieren und beheben, die Anwendungsleistung optimieren und fundierte Entscheidungen für Ihre Anwendung treffen.

Instrumentcode

Instrumentierung bezieht sich auf den Prozess des Einbettens von Codeausschnitten oder der Integration von Tools in einen Anwendungscode. Der Zweck der Instrumentierung besteht darin, Leistungsdaten zu erfassen, während die Anwendung ausgeführt wird. Es ist wichtig, Metriken zu sammeln, die die kritischen Vorgänge der Anwendung hervorheben. Konzentrieren Sie sich auf Metriken wie Durchsatz, Latenz und Abschlusszeit. Es ist wichtig, zwischen geschäftsbezogenen Vorgängen und Vorgängen zu unterscheiden, die nicht der Fall sind. Stellen Sie bei Daten im Zusammenhang mit Geschäftsvorgängen sicher, dass die Metadaten so strukturiert sind, dass eine eindeutige Nachverfolgung und Speicherung möglich ist. Der Hauptgrund für die Codeinstrumentierung ist das Sammeln von Daten zur Verarbeitung der Workload durch die Anwendung. Ihnen bieten sich folgende Vorteile:

  • Identifizieren von Leistungsengpässen: Durch nachverfolgen von Metriken wie CPU-Auslastung und Arbeitsspeicherauslastung können Sie Engpässe identifizieren und den Code entsprechend optimieren.

  • Auswerten des Systemverhaltens unter einer Last: Sie können sehen, wie die Anwendung unter verschiedenen Workloads und Belastungsszenarien abschneidet. Diese Daten können Ihnen helfen, Probleme im Zusammenhang mit Skalierbarkeit, Parallelität und Ressourcennutzung zu identifizieren.

  • Nachverfolgen von Anwendungsintegrität und -verfügbarkeit: Da wichtige Leistungsindikatoren in Echtzeit überwacht werden, können Sie Warnungen zu potenziellen Problemen erhalten, die sich auf die Leistung und Verfügbarkeit der Anwendung auswirken.

  • Verbessern der Benutzererfahrung: Sie können Einblicke in die Interaktion von Benutzern mit der Anwendung erhalten. Verwenden Sie diese Informationen, um die Benutzererfahrung zu optimieren und Verbesserungsbereiche zu identifizieren.

  • Planen der Kapazität und Zuordnen von Ressourcen: Die von der Instrumentierung erfassten Leistungsdaten können wertvolle Einblicke in die Ressourcenanforderungen einer Anwendung liefern. Diese Informationen können Ihre Entscheidungen über die Planung der Kapazität und die Zuweisung von Ressourcen informieren.

Berücksichtigen Sie beim Instrumentieren von Code für die Leistungsüberwachung die folgenden Strategien:

  • Verwenden von APM-Tools: APM-Tools können Leistungsdaten sammeln und analysieren, einschließlich Metriken, Ablaufverfolgungen und Protokollen. APM-Tools bieten Funktionen wie Instrumentierung auf Codeebene, Transaktionsablaufverfolgung und Leistungsprofilerstellung.

  • Verwenden von Protokollierungs- und Ablaufverfolgungsframeworks: Protokollierungs- und Ablaufverfolgungsframeworks sind Tools oder Bibliotheken, die Entwickler in ihre Anwendungen integrieren, um die Protokollierung und Ablaufverfolgung zu vereinfachen. Diese Frameworks bieten Funktionen zum Generieren von Protokollen, Ablaufverfolgungsanforderungen und manchmal sogar zum Formatieren oder Transportieren der generierten Daten. Durch die Integration von Protokollierungs- und Ablaufverfolgungsframeworks in die Codebasis können Entwickler während der Laufzeit relevante Daten erfassen. Die Daten können Informationen über den Ausführungspfad, die E/A und die Leistung enthalten.

  • Benutzerdefinierte Instrumentierung: Entwickler können benutzerdefinierten Code hinzufügen, um Leistungsmetriken zu sammeln, die für ihre Anwendung und Workload eindeutig sind. Die benutzerdefinierte Instrumentierung kann Laufzeiten messen, die Ressourcennutzung nachverfolgen oder bestimmte Ereignisse erfassen. Schreiben Sie benutzerdefinierte Codeinstrumentation nur, wenn Plattformmetriken nicht ausreichen. In einigen Situationen kann die Plattformressource aggregierte oder sogar präzise Perspektiven Ihrer Anwendung messen. Wägen Sie die Frage ab, ob dieser Aufwand mithilfe von benutzerdefiniertem Code mit übermäßigen Codekonflikten oder abhängigkeiten von einem Plattformfeature dupliziert werden soll.

  • Erfassen Sie Transaktionszeiten. Die Erfassung von Transaktionszeiten bezieht sich auf die Messung der End-to-End-Zeiten für wichtige technische Funktionen im Rahmen der Leistungsüberwachung. Metriken auf Anwendungsebene sollten End-to-End-Transaktionszeiten enthalten. Diese Transaktionszeiten sollten wichtige technische Funktionen wie Datenbankabfragen, Antwortzeiten für externe API-Aufrufe und Fehlerraten von Verarbeitungsschritten abdecken.

  • Verwenden Sie Telemetriestandards. Erwägen Sie die Verwendung von APM-Toolinstrumentierungsbibliotheken und Tools, die auf einem Telemetriestandard basieren, z. B. OpenTelemetry.

Aktivieren der verteilten Ablaufverfolgung

Die verteilte Ablaufverfolgung ist eine Technik zum Nachverfolgen und Überwachen von Anforderungen, die durch ein verteiltes System fließen. Sie ermöglicht es Ihnen, den Pfad einer Anforderung zu verfolgen, während sie sich über mehrere Dienste und Komponenten erstreckt, und bietet wertvolle Einblicke in die Leistung und Effizienz Ihrer Workload. Die verteilte Ablaufverfolgung ist wichtig für die Leistungseffizienz, da sie hilft, Engpässe, Latenzprobleme und Optimierungsbereiche innerhalb eines verteilten Systems zu identifizieren. Sie können ermitteln, wo Verzögerungen oder Ineffizienzen auftreten, und geeignete Maßnahmen ergreifen, um die Leistung zu verbessern, indem Sie den Ablauf einer Anforderung visualisieren. Führen Sie die folgenden Schritte aus, um die verteilte Ablaufverfolgung zu aktivieren:

  1. Instrumentieren Sie zunächst Ihre Anwendungen und Dienste, um Ablaufverfolgungsdaten zu generieren. Verwenden Sie Bibliotheken oder Frameworks, die die verteilte Ablaufverfolgung unterstützen, z. B. OpenTelemetry.

  2. Stellen Sie sicher, dass Ablaufverfolgungsinformationen über Dienstgrenzen hinweg weitergegeben werden. In der Regel sollten Sie bei jeder Anforderung eine eindeutige Ablaufverfolgungs-ID und andere kontextbezogene Informationen übergeben.

  3. Richten Sie ein zentralisiertes Ablaufverfolgungssammlungssystem ein. Dieses System sammelt und speichert die von Ihren Anwendungen und Diensten generierten Ablaufverfolgungsdaten.

  4. Verwenden Sie die gesammelten Ablaufverfolgungsdaten, um den End-to-End-Fluss von Anforderungen zu visualisieren und die Leistungsmerkmale Ihres verteilten Systems zu analysieren.

Sammeln von Anwendungsprotokollen

Wenn Sie Code instrumentieren, sollte eine der primären Ausgaben Anwendungsprotokolle sein. Die Protokollierung hilft Ihnen zu verstehen, wie die Anwendung in verschiedenen Umgebungen ausgeführt wird. Anwendungsprotokolle zeichnen die Bedingungen auf, die Anwendungsereignisse erzeugen. Sammeln sie Anwendungsprotokolle in allen Anwendungsumgebungen. Entsprechende Protokolleinträge sollten in der gesamten Anwendung eine Korrelations-ID für ihre jeweiligen Transaktionen erfasst werden. Die Korrelations-ID sollte Anwendungsprotokollereignisse über kritische Anwendungsflows hinweg korrelieren, z. B. die Benutzeranmeldung. Verwenden Sie diese Korrelation, um die Integrität wichtiger Szenarien im Kontext von Zielen und nicht funktionalen Anforderungen zu bewerten.

Sie sollten die strukturierte Protokollierung verwenden. Die strukturierte Protokollierung beschleunigt die Analyse und Analyse von Protokollen. Dies erleichtert die Indizieren, Abfragen und Berichte der Protokolle ohne Komplexität. Fügen Sie eine strukturierte Protokollierungsbibliothek in Ihrem Anwendungscode hinzu, und verwenden Sie sie. Manchmal können Protokolleinträge Ihnen helfen, Daten zu korrelieren, die Sie auf andere Wege nicht korrelieren konnten.

Sammeln von Ressourcenleistungsdaten

Durch das Sammeln von Ressourcenleistungsdaten können Sie Einblicke in die Integrität und das Verhalten Ihrer Workload erhalten. Ressourcenleistungsdaten enthalten Informationen zur Ressourcennutzung, die für die Kapazitätsplanung von entscheidender Eigenschaft ist. Diese Daten bieten auch Einblicke in die Integrität einer Workload und können Ihnen helfen, Probleme zu erkennen und zu beheben. Beachten Sie die folgenden Empfehlungen:

  • Sammeln Sie Metriken und Protokolle für jede Ressource. Jeder Azure-Dienst verfügt über einen Satz von Metriken, der für die Funktionalität der Ressource eindeutig ist. Diese Metriken helfen Ihnen, die Integrität und Leistung der Ressource zu verstehen. Fügen Sie eine Diagnoseeinstellung für jede Ressource hinzu, um Metriken an einen Speicherort zu senden, auf den Ihr Workloadteam zugreifen kann, wenn es Warnungen und Dashboards erstellt. Metrikdaten sind für den kurzfristigen Zugriff verfügbar. Für den langfristigen Zugriff oder für den Zugriff von einem System außerhalb von Azure Monitor senden Sie die Metrikdaten an Ihre einheitliche Senke an den Zugriffsort.

  • Verwenden Sie Plattformtools. Holen Sie sich Inspirationen von integrierten und integrierten Überwachungslösungen, z. B. Azure Monitor Insights. Dieses Tool optimiert Leistungsvorgänge. Berücksichtigen Sie Plattformtools, wenn Sie eine Plattform auswählen, und investieren Sie in benutzerdefinierte Tools oder Berichte.

  • Überwachen des Netzwerkdatenverkehrs. Die Überwachung des Netzwerkdatenverkehrs bedeutet, den Datenfluss und die Muster von Daten zu verfolgen und zu analysieren, während er sich über Netzwerkpfade hinweg bewegt. Sammeln Sie Datenverkehrsanalysen, und überwachen Sie den Datenverkehr, der Subnetzgrenzen überschreitet. Ihr Ziel ist es, die Netzwerkleistung zu analysieren und zu optimieren.

Sammeln von Datenbank- und Speicherdaten

Viele Datenbank- und Speichersysteme bieten eigene Überwachungstools. Diese Tools sammeln leistungsspezifische Daten für diese Systeme. Datenbank- und Speichersysteme generieren häufig Protokolle, die leistungsbezogene Ereignisse und Indikatoren enthalten. Sammeln Sie Datenbankdaten und Speicherleistungsdaten, damit Sie Engpässe identifizieren, Probleme diagnostizieren und fundierte Entscheidungen treffen können, um die Gesamtleistung und Zuverlässigkeit Ihrer Workload zu verbessern. Erwägen Sie das Sammeln der folgenden Arten von Leistungsdaten:

  • Durchsatz: Der Durchsatz misst die Menge der Daten, die über einen bestimmten Zeitraum aus dem Speichersystem gelesen oder in das Speichersystem geschrieben werden. Durchsatzdaten geben die Datenübertragungsfunktionen an.

  • Latenz: Latenz misst, wie lange Speichervorgänge dauern. Latenzdaten geben die Reaktionsfähigkeit des Speichersystems an.

  • IOPS (E/A-Vorgänge pro Sekunde): Daten über die Anzahl von Lese- oder Schreibvorgängen, die das Speichersystem in einer Sekunde ausführen kann. IOPS-Daten geben den Durchsatz und die Reaktionsfähigkeit des Speichersystems an.

  • Kapazitätsnutzung: Der Kapazitätsverbrauch ist die Menge der verwendeten Speicherkapazität und die menge, die verfügbar ist. Kapazitätsnutzungsdaten helfen Organisationen bei der Planung zukünftiger Speicheranforderungen.

Für Datenbanken sollten Sie auch datenbankspezifische Metriken sammeln:

  • Abfrageleistung: Daten zur Ausführungszeit, zur Ressourcennutzung und zur Effizienz von Datenbankabfragen. Langsame oder ineffiziente Datenbankabfragen können eine Workload erheblich verlangsamen. Suchen Sie nach Abfragen, die langsam sind und häufig ausgeführt werden.

  • Transaktionsleistung: Daten zur Leistung von Datenbanktransaktionen, z. B. Transaktionsdauer, Parallelität und Sperrkonflikte.

  • Indexleistung: Daten zur Leistung von Datenbankindizes, z. B. Indexfragmentierung, Nutzungsstatistiken und Abfrageoptimierung.

  • Ressourcennutzung: Daten, die CPU, Arbeitsspeicher, Speicherplatz, E/A und Netzwerkbandbreite umfassen.

  • Verbindungsmetriken: Metriken, die die Anzahl der aktiven, abgebrochenen und fehlgeschlagenen Verbindungen nachverfolgen. Hohe Fehlerraten können auf Netzwerkprobleme hinweisen oder darauf hinweisen, dass die Datenbank die maximale Anzahl von Verbindungen erreicht hat.

  • Transaktionsraten: Die Anzahl der Transaktionen, die eine Datenbank pro Sekunde ausführt. Eine Änderung der Transaktionsraten kann auf Leistungsprobleme hinweisen.

  • Fehlerraten: Daten, die eine Datenbankleistung angeben. Hohe Fehlerraten können auf ein Leistungsproblem hinweisen. Sammeln und Analysieren von Datenbankfehlern.

Sammeln von Betriebssystemdaten (falls zutreffend)

Eine PaaS-Lösung (Platform-as-a-Service) entfällt die Notwendigkeit, Betriebssystemleistungsdaten zu sammeln. Wenn Ihre Workload jedoch auf virtuellen Computern (Infrastructure-as-a-Service) ausgeführt wird, müssen Sie Leistungsdaten über das Betriebssystem sammeln. Sie müssen die Anforderungen ihres Betriebssystems und ihres virtuellen Computers verstehen. Häufig werden Beispielleistungsindikatoren des Betriebssystems verwendet. Beispielsweise können Sie die Leistungsindikatoren jede Minute mit einem Stichprobenbeispiel abtasten.

Sammeln Sie mindestens Daten zu den folgenden Leistungsbereichen.

Leistungsbereich Prozess oder Funktion
CPU - CPU-Auslastung (Benutzermodus oder privilegierter Modus)
- CPU-Warteschlangenlänge (Anzahl der Prozesse, die auf CPU-Zeit warten)
Prozess – Anzahl von Prozessthreads
– Anzahl der Prozesshandle
Arbeitsspeicher – Festgeschriebener Arbeitsspeicher
– Verfügbarer Arbeitsspeicher
- Seiten pro Sekunde
– Tauschraumnutzung
Datenträger - Datenträgerlesevorgang
- Datenträgerschreibvorgänge
– Datenträgerdurchsatz
– Speicherplatznutzung
Netzwerk - Netzwerkschnittstellendurchsatz
- Rx/Tx-Fehler der Netzwerkschnittstelle

Überprüfen und Analysieren von Daten

Ihre Leistungsdaten sollten mit den Leistungszielen übereinstimmen. Die Daten müssen die Workload- oder Flowleistung vollständig und genau darstellen, da sie sich auf Leistungsziele bezieht. Beispielsweise hat die Antwortzeit für einen Webdienst ein Leistungsziel von 500 ms. Machen Sie die Analyse der Daten zur Routine, da häufige Auswertungen eine frühzeitige Erkennung und Entschärfung von Leistungsproblemen ermöglichen.

  • Erstellen von Warnungen Es ist vorteilhaft, warnungen zu haben, die umsetzbar sind und eine schnelle Identifizierung und Behebung von Leistungsproblemen ermöglichen. Diese Warnungen sollten eindeutig den Schwellenwert für die Überschreitung der Leistung, den potenziellen Geschäftseffekt und die beteiligten Komponenten angeben. Legen Sie zunächst allgemeine und empfohlene Warnungen fest. Im Laufe der Zeit können Sie diese Kriterien basierend auf Ihren spezifischen Anforderungen ändern. Das primäre Ziel dieser Warnungen sollte es sein, potenzielle Leistungseinbußen vorherzusagen, bevor sie zu wichtigen Problemen eskalieren. Wenn Sie keine Warnung für eine externe Abhängigkeit festlegen können, sollten Sie eine Methode zum Sammeln indirekter Messungen entwickeln, z. B. die Dauer eines Abhängigkeitsaufrufs.

  • Legen Sie Grenzwerte für die Datensammlung fest. Bestimmen und festlegen sie logische Grenzwerte für die Menge der gesammelten Daten und deren Aufbewahrungsdauer. Telemetriedaten können manchmal überwältigende Datenmengen erzeugen. Es ist wichtig, sich nur auf die Erfassung der wichtigsten Leistungsindikatoren zu konzentrieren oder über ein effizientes System zu verfügen, um aussagekräftige Erkenntnisse aus Ihren Leistungsdaten zu gewinnen.

Azure-Erleichterung

Zentralisierung, Segmentierung und Aufbewahrung von Leistungsdaten: Azure Monitor erfasst und aggregiert Daten von jeder Schicht und Komponente Ihrer Workload über mehrere Azure- und Nicht-Azure-Abonnements und Mandanten hinweg. Sie speichert die Daten in einer gemeinsamen Datenplattform für die Nutzung durch einen gemeinsamen Satz von Tools, die die Daten korrelieren, analysieren, visualisieren und/oder darauf reagieren können.

Sie benötigen mindestens einen Log Analytics-Arbeitsbereich , um Azure Monitor-Protokolle zu aktivieren. Sie können einen einzigen Arbeitsbereich für Ihre gesamte Datensammlung verwenden. Sie können auch mehrere Arbeitsbereiche basierend auf anforderungen zum Segmentieren von Leistungsdaten erstellen. Außerdem können Sie Aufbewahrungsrichtlinien definieren.

Sammeln von Anwendungsleistungsdaten: Application Insights ist ein Feature von Azure Monitor, mit dem Sie die Leistung und Verfügbarkeit Ihrer Anwendung überwachen können. Es bietet Erkenntnisse auf Anwendungsebene, indem Telemetriedaten wie Anforderungsraten, Antwortzeiten und Ausnahmedetails erfasst werden. Sie können Application Insights für Ihre Anwendung aktivieren und so konfigurieren, dass die erforderlichen Leistungsdaten erfasst werden. Application Insights unterstützt auch die verteilte Ablaufverfolgung. Konfigurieren Sie die verteilte Ablaufverfolgung für alle Flows. Um End-to-End-Transaktionsflows zu erstellen, korrelieren Sie Ereignisse, die aus verschiedenen Anwendungskomponenten oder -ebenen stammen.

Leistungsindikatoren sind eine leistungsstarke Möglichkeit, die Leistung Ihrer Anwendung zu überwachen. Azure bietet verschiedene Leistungsindikatoren, mit denen Sie Daten zu CPU-Auslastung, Arbeitsspeicherauslastung, Datenträger-E/A, Netzwerkdatenverkehr und mehr sammeln können. Wenn Sie Ihre Anwendung so konfigurieren, dass Leistungsindikatordaten ausgegeben werden, erfasst Und speichert Azure Monitor die Daten für die Analyse.

Sammeln von Ressourcenleistungsdaten: Die meisten Azure-Dienste generieren Plattformprotokolle und Metriken, die Diagnose- und Überwachungsinformationen bereitstellen. Durch Aktivieren von Diagnoseeinstellungen können Sie die Plattformprotokolle und Metriken angeben, die erfasst und gespeichert werden sollen. Aktivieren Sie zu Korrelationszwecken Diagnose für alle unterstützten Dienste, und senden Sie die Protokolle dann an dasselbe Ziel wie Ihre Anwendungsprotokolle.

Sammeln von Datenbank- und Speicherleistungsdaten: Mit Azure Monitor können Sie Leistungsdaten für Datenbanken in Azure sammeln. Sie können die Überwachung für Azure SQL Datenbank-, Azure Database for MySQL-, Azure Database for PostgreSQL- und andere Datenbankdienste aktivieren. Azure Monitor stellt Metriken und Protokolle für die Überwachung der Datenbankleistung bereit, einschließlich CPU-Auslastung, Arbeitsspeichernutzung und Abfrageleistung. Um über Probleme benachrichtigt zu werden, können Sie Warnungen basierend auf Leistungsschwellenwerten einrichten.

Azure bietet Leistungsempfehlungen für Datenbanken, z. B. SQL Server in Azure Virtual Machines. Diese Empfehlungen helfen Ihnen, die Leistung Ihrer Datenbankworkloads zu optimieren. Sie umfassen Vorschläge zum Sammeln von Leistungsindikatoren, zum Erfassen von Wartestatistiken und zum Sammeln von Leistungsdaten in Spitzenzeiten.

Mit Azure Storage Analytics können Sie Leistungsdaten für Azure Storage-Dienste wie Blob Storage, Tabellenspeicher und Warteschlangenspeicher sammeln. Sie können Protokollierung und Metriken für Ihre Speicherkonten aktivieren, um wichtige Leistungsindikatoren wie die Anzahl von Lese-/Schreibvorgängen, den Durchsatz und die Latenz zu überwachen.

Sammeln von Betriebssystemleistungsdaten: Mit der Azure-Diagnose-Erweiterung können Sie detaillierte Leistungsdaten von Ihren virtuellen Computern (VMs) sammeln, einschließlich CPU, Arbeitsspeicher, Datenträger-E/A und Netzwerkdatenverkehr. Diese Daten können zur Analyse und Warnung an Azure Monitor oder andere Speicherdienste gesendet werden.

Überprüfen und Analysieren von Leistungsdaten: In Azure Monitor können Sie Azure Monitor-Protokolle verwenden, um Protokolldaten aus Ihren Anwendungen und Systemen zu sammeln, zu analysieren und zu visualisieren. Sie können Azure Monitor-Protokolle konfigurieren, um Protokolle aus Ihrer Anwendung zu erfassen, einschließlich Protokollen auf Anwendungsebene und Infrastrukturprotokollen. Durch Aggregieren von Protokollen können Sie Ereignisse quer abfragen und Einblicke in die Leistung Ihrer Anwendung erhalten. Weitere Informationen finden Sie unter Kostenberechnungen und -optionen für Azure Monitor-Protokolle undPreise für Azure Monitor.

In Azure Monitor können Sie Warnungsregeln definieren, um bestimmte Leistungsmetriken zu überwachen und Warnungen basierend auf vordefinierten Bedingungen auszulösen. Sie können beispielsweise eine Warnungsregel erstellen, um Sie zu benachrichtigen, wenn die CPU-Auslastung einen bestimmten Schwellenwert überschreitet oder wenn die Antwortzeit einen angegebenen Grenzwert überschreitet. Konfigurieren Sie die Warnungsregel zum Senden von Benachrichtigungen an die gewünschten Empfänger.

Wenn Sie eine Warnungsregel erstellen, können Sie die Kriterien definieren, die bestimmen, wann eine Warnung ausgelöst werden soll. Sie können Schwellenwerte, Aggregationsmethoden, Zeitfenster und die Häufigkeit der Auswertung festlegen. Definieren Sie die Kriterien basierend auf Ihren Leistungsüberwachungsanforderungen. Zusätzlich zum Senden von Benachrichtigungen können Sie Aktionen angeben, die ausgeführt werden sollen, wenn eine Warnung ausgelöst wird. Aktionen können das Senden von E-Mails, das Aufrufen von Webhooks oder das Ausführen von Azure-Funktionen umfassen. Wählen Sie die geeigneten Aktionen aus, um auf das spezifische Warnungsszenario zu reagieren.

Beispiele

Prüfliste zur Leistungseffizienz

Weitere Informationen finden Sie im vollständigen Satz von Empfehlungen.