Empfehlungen zum Sammeln von Leistungsdaten
Gilt für diese Checkliste für azure Well-Architected Framework Performance Efficiency:
PE:04 | Erfasst Leistungsdaten. Arbeitsauslastungskomponenten und -flüsse sollten automatische, fortlaufende und aussagekräftige Metriken und Protokolle bereitstellen. Sammeln Sie Daten auf unterschiedlichen Arbeitsauslastungsebenen, z. B. anwendung, Plattform, Daten und Betriebssystemebenen. |
---|
Das Sammeln von Leistungsdaten ist der Prozess des Sammelns von Metriken und Protokollen, die Informationen zur Leistung einer Arbeitslast bereitstellen. Diese Daten enthalten numerische Werte, die als Metriken bezeichnet werden. Metriken beschreiben den Zustand des Systems zu einem bestimmten Zeitpunkt. Sie enthält auch Protokolle, die unterschiedliche Datentypen enthalten, die in Datensätzen organisiert sind.
Durch die Erfassung von Leistungsdaten können Sie die Leistung einer Arbeitslast ü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 Arbeitslast zu verbessern.
Ohne datengesteuerte Erkenntnisse wissen Sie möglicherweise nicht über zugrunde liegende Leistungsprobleme oder Optimierungsmöglichkeiten. Mögliche Ergebnisse umfassen langsamere Reaktionszeiten, verringerter Durchsatz, erhöhte Ressourcenauslastung und letztendlich eine suboptimale Benutzererfahrung. Darüber hinaus erschwert das Fehlen von Leistungsdaten die Rechtzeitige Diagnose und Behandlung von Problemen, was zu längeren Ausfallzeiten und geringerer Produktivität führt.
Definitionen
Begriff | Definition |
---|---|
Aktivitätsprotokolle | Protokolliert, die Verwaltungsvorgänge für Ressourcen nachverfolgen, z. B. das Löschen einer Ressource. |
Anwendungsprotokolle | Protokolliert Informationen zu Anwendungsereignissen, Fehlern und anderen Aktivitäten, z. B. Anmelde- und Datenbankverbindungsfehlern. |
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 Laufzeit spezifisch sind. |
Verteilte Ablaufverfolgung | Sammeln und Korrelieren von Metriken über verteilte Workload-Komponenten hinweg. |
Metrikensenke | 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 Arbeitsauslastung zu einem bestimmten Zeitpunkt aufzeichnen. |
Ressourcenprotokolle | Daten, die ein System generiert. Es stellt Informationen zum Zustand des Systems bereit. |
Rx/Tx-Fehler | Die Anzahl der Empfangsfehler und Übertragungsfehler auf einer Netzwerkschnittstelle. |
Strukturierte Protokollierung | Definieren eines aussagekräftigen Formats zum Protokollieren von Nachrichten, in der Regel als Schlüsselwertpaare. |
Wichtige Entwurfsstrategien
Die Leistungsoptimierung erfordert Daten, um die aktuelle Leistung einer Workload oder eines Flusses anhand seiner Leistungsziele zu messen. Sie müssen die richtige Menge und Vielfalt von Daten sammeln, um die Leistung des Codes und die Infrastruktur anhand von Leistungszielen zu messen. Stellen Sie sicher, dass jede Komponente und jeder Ablauf innerhalb der Workload automatisch fortlaufende und aussagekräftige Metriken und Protokolle generiert. Sie müssen diese Daten aus verschiedenen Ebenen wie Anwendung, Plattform, Speicher und Betriebssystem abrufen. Umfassende Leistungsdatensammlung ermöglicht ein ganzheitliches Verständnis der Leistung und ermöglicht eine präzise Identifizierung von Ineffizienzen und Verbesserungsmöglichkeiten.
Zentralisieren der Sammlung von Leistungsdaten
Die Zentralisierung von Leistungsmetriken und Protokollen ist der Prozess der Erfassung von Leistungsmetriken und Protokollen aus verschiedenen Quellen und deren Speicherung an einem zentralen Ort. Erstellen Sie eine zentrale Metriksenke und eine zentrale Protokollsenke. Diese Zentralisierung ermöglicht einfachen Zugriff, Analyse und Überwachung von Leistungsmetriken und Protokollen über verschiedene Systeme und Komponenten hinweg. Durch die Zentralisierung von Metriken und Protokollen erhalten Sie Einblicke in die Leistung Ihrer Workload. Wählen Sie eine geeignete Plattform oder ein geeignetes Tool aus, mit dem Leistungsmetriken und Protokolle der Workload aggregiert und gespeichert werden können.
Tradeoff: Verstehen der Kosten für die Erfassung von Metriken und Protokollen. Im Allgemeinen desto mehr Metriken und Protokolle, die Sie sammeln, desto höher sind die Kosten.
Segmentleistungsdaten
Die Segmentierung von Leistungsdaten umfasst das Organisieren und Kategorisieren von Metriken und Protokollen basierend auf ihrem Ursprung, Zweck oder ihrer Umgebung. Sie sollten z. B. Produktionsdaten von nichtproduktiellen Daten trennen oder zwischen Leistungszielen und Geschäftsmetriken unterscheiden. Das Segmentieren von Daten hilft bei der Optimierung bestimmter Umgebungen, erleichtert die Problembehandlung und begrenzt Ungenauigkeiten bei der Leistungsüberwachung. Durch die Aufrechterhaltung einer klaren Unterscheidung zwischen verschiedenen Datentypen können Sie relevante Metriken effizienter erfassen, analysieren und darauf reagieren und die Arbeitsauslastungsintegrität mit Workloadzielen besser ausrichten. Berücksichtigen Sie die folgenden Empfehlungen, um Leistungsdaten zu segmentieren:
Halten Sie Produktionsdaten und Nichtproduktionsdaten getrennt. Durch die Trennung von Daten nach Umgebung können Sie eine fokussierte Überwachung und Optimierung der einzelnen Umgebungen sicherstellen. In Produktionsumgebungen können Sie Leistungsprobleme besser identifizieren und beheben, die sich direkt auf Benutzer und Geschäftsvorgänge auswirken. In Nichtproduktionsumgebungen erleichtert die Datentrennung während der Testphase eine effektive Problembehandlung und Feinabstimmung, bevor Sie die Bereitstellung in der Produktion durchführen.
Verwenden Sie eine Gruppe von Daten in jeder Umgebung. Verwenden Sie keinen Satz von Daten für Leistungsziele und eine andere Datenmenge für Warnungen im Zusammenhang mit den Leistungszielen. Die Verwendung verschiedener Datengruppen 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 Arbeitsauslastung zu überwachen und geschäftsziele zu erfüllen. Geschäftsmetriken beziehen sich auf Geschäftsziele oder Kundenberichte. Erfassen Sie Geschäftsmetriken in einem separaten Datenstrom, auch wenn die Daten direkt überlappen. Die Trennung bietet Ihnen flexibilität, die richtigen Daten zu erfassen und die Daten unabhängig zu analysieren.
Aufbewahrungsrichtlinien definieren
Aufbewahrungsrichtlinien diktieren, wie lange Leistungsdaten aufbewahrt werden sollen. Durch das Einrichten dieser Richtlinien können Sie den Speicher effizient verwalten und sicherstellen, dass nur erforderliche Daten für die Analyse zugänglich sind. 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 Compliancebestimmungen Ihrer Organisation entsprechen. Entscheiden Sie, wie lange die Daten für Analyse- und Überwachungszwecke aufbewahrt werden sollen. Archiven Sie die Daten, die Sie nicht für die sofortige Analyse benötigen.
Sammeln von Anwendungsleistungsdaten
Das Sammeln von Anwendungsdaten umfasst die Überwachung und Analyse der Leistungsmetriken einer Anwendung, z. B. Durchsatz, Latenz und Abschlusszeiten, in erster Linie durch Instrumentierungscode erfasst. 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
Die Instrumentierung bezieht sich auf den Prozess des Einbettens von Codeausschnitten oder das Integrieren 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. Stellen Sie für Daten im Zusammenhang mit Geschäftsvorgängen sicher, dass ihre Metadaten so strukturiert sind, dass sie unterschiedliche Nachverfolgung und Speicherung ermöglichen. Der Hauptgrund für die Codeinstrumentation besteht darin, Daten darüber zu sammeln, wie die Anwendung ihre Arbeitsauslastung verarbeitet. Es bietet folgende Vorteile:
Identifizieren von Leistungsengpässen: Indem Sie Metriken wie CPU-Auslastung und Arbeitsspeichernutzung nachverfolgen, können Sie Engpässe identifizieren und den Code entsprechend optimieren.
Bewerten des Systemverhaltens unter einer Last: Sie können sehen, wie die Anwendung unter verschiedenen Arbeitslasten und Stressszenarien ausgeführt wird. Diese Daten können Ihnen helfen, Probleme im Zusammenhang mit Skalierbarkeit, Parallelität und Ressourcennutzung zu identifizieren.
Nachverfolgen des Anwendungsstatus und der 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 sie die Benutzererfahrung: Sie können Einblicke in die Interaktion der Benutzer 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 gesammelten 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 Zuordnung von Ressourcen informieren.
Berücksichtigen Sie beim Instrumentiercode für die Leistungsüberwachung die folgenden Strategien:
Verwenden Sie APM-Tools: APM-Tools können Leistungsdaten sammeln und analysieren, einschließlich Metriken, Ablaufverfolgungen und Protokollen. APM-Tools bieten Features wie Instrumentierung auf Codeebene, Transaktionsablaufverfolgung und Leistungsprofilerstellung.
Verwenden Sie 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 Übertragen der generierten Daten. Durch die Einbindung von Protokollierungs- und Ablaufverfolgungsframeworks in die Codebasis können Entwickler relevante Daten während der Laufzeit erfassen. Die Daten können Informationen über den laufenden Pfad, 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 Arbeitsauslastung eindeutig sind. Die benutzerdefinierte Instrumentierung kann Laufzeiten messen, die Ressourcennutzung nachverfolgen oder bestimmte Ereignisse erfassen. Schreiben Sie benutzerdefinierte Codeinstrumentation nur, wenn Plattformmetriken nicht ausreichend sind. In einigen Fällen kann die Plattformressource aggregierte oder sogar präzise Perspektiven Ihrer Anwendung messen. Wiegen Sie die Frage, ob sie diesen Aufwand duplizieren soll, indem Sie benutzerdefinierten Code gegen übermäßigen Code-Tradeoffs oder Abhängigkeiten von einem Plattformfeature verwenden.
Erfassen von Transaktionszeiten. Die Erfassung von Transaktionszeiten bezieht sich auf die Messung der End-to-End-Zeiten für wichtige technische Funktionen als Teil 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 der Verarbeitungsschritte abdecken.
Verwenden Sie Telemetriestandards. Erwägen Sie die Verwendung von APM-Toolinstrumentationsbibliotheken und Tools, die auf einem Telemetriestandard wie OpenTelemetry basieren.
Aktivieren der verteilten Ablaufverfolgung
Die verteilte Ablaufverfolgung ist eine Technik, die verwendet wird, um Anforderungen nachzuverfolgen und zu überwachen, während sie über ein verteiltes System fließen. Damit können Sie den Pfad einer Anforderung nachverfolgen, während sie über mehrere Dienste und Komponenten hinweg reist und wertvolle Einblicke in die Leistung und Effizienz Ihrer Workload bietet. Die verteilte Ablaufverfolgung ist wichtig für die Leistungseffizienz, da sie hilft, Engpässe, Latenzprobleme und Bereiche für die Optimierung innerhalb eines verteilten Systems zu identifizieren. Sie können bestimmen, wo Verzögerungen oder Ineffizienzen auftreten, und geeignete Maßnahmen ergreifen, um die Leistung zu verbessern, indem Sie den Fluss einer Anforderung visualisieren. Führen Sie die folgenden Schritte aus, um die verteilte Ablaufverfolgung zu aktivieren:
Beginnen Sie, indem Sie Ihre Anwendungen und Dienste instrumentieren, um Ablaufverfolgungsdaten zu generieren. Verwenden Sie Bibliotheken oder Frameworks, die die verteilte Ablaufverfolgung unterstützen, z. B. OpenTelemetry.
Stellen Sie sicher, dass Ablaufverfolgungsinformationen über Dienstgrenzen verteilt werden. In der Regel sollten Sie eine eindeutige Ablaufverfolgungs-ID und andere kontextbezogene Informationen mit jeder Anforderung übergeben.
Richten Sie ein zentralisiertes Ablaufverfolgungssystem ein. Dieses System sammelt und speichert die von Ihren Anwendungen und Diensten generierten Ablaufverfolgungsdaten.
Verwenden Sie die erfassten Ablaufverfolgungsdaten, um den End-to-End-Fluss von Anforderungen zu visualisieren und die Leistungsmerkmale Ihres verteilten Systems zu analysieren.
Sammeln von Anwendungsprotokollen
Wenn Sie den Instrumentcode verwenden, 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 Anwendungsflüsse 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 Protokollanalyse und -analyse. Sie erleichtert das Indizieren, Abfragen und Melden 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 nicht auf andere Weise 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 stellen Informationen zur Ressourcennutzung bereit, was für die Kapazitätsplanung von Entscheidender ist. Diese Daten bieten auch Einblicke in die Integrität einer Workload und können Ihnen helfen, Probleme und Problembehandlungen zu erkennen. Beachten Sie die folgenden Empfehlungen:
Sammeln Sie Metriken und Protokolle für jede Ressource. Jeder Azure-Dienst verfügt über eine Reihe von Metriken, die für die Funktionalität der Ressource eindeutig sind. 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 Ort zu senden, auf den Ihr Workloadteam zugreifen kann, während sie Warnungen und Dashboards erstellen. Metrikdaten sind für den kurzfristigen Zugriff verfügbar. Senden Sie für den langfristigen Zugriff oder für den Zugriff von einem System außerhalb von Azure Monitor die Metrikdaten an Ihre einheitliche Spüle an den Zugriffsort.
Verwenden Sie Plattformtools. Sammeln Sie Inspirationen von integrierten und integrierten Monitoring-Lösungen, z. B. Azure Monitor Insights. Mit diesem Tool werden Leistungsvorgänge optimiert. Erwägen Sie plattformspezifische Tools, während Sie eine Plattform auswählen und in benutzerdefinierte Tools oder Berichte investieren.
Überwachen des Netzwerkdatenverkehrs. Die Überwachung des Netzwerkdatenverkehrs bedeutet, den Fluss und die Datenmuster nachzuverfolgen und zu analysieren, während er sich über Netzwerkpfade bewegt. Sammeln Sie Datenverkehrsanalysen, und überwachen Sie den Datenverkehr, der Subnetzgrenzen durchläuft. 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 Leistungsdaten, die für diese Systeme spezifisch sind. 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 Arbeitslast zu verbessern. Erwägen Sie das Sammeln der folgenden Arten von Leistungsdaten:
Durchsatz: Der Durchsatz misst die Datenmenge, die über einen bestimmten Zeitraum aus dem Speichersystem gelesen oder in das Speichersystem geschrieben wurde. Durchsatzdaten deuten auf die Datenübertragungsfunktionen hin.
Latenz: Latenz misst, wie lange Speichervorgänge dauern. Latenzdaten deuten auf die Reaktionsfähigkeit des Speichersystems hin.
IOPS (E/A-Vorgänge pro Sekunde):Daten zur Anzahl der Lesevorgänge oder Schreibvorgänge, die das Speichersystem in einer Sekunde ausführen kann. IOPS-Daten deuten auf den Durchsatz und die Reaktionsfähigkeit des Speichersystems hin.
Kapazitätsnutzung: Die Kapazitätsnutzung ist die Menge der verwendeten Speicherkapazität und der verfügbaren Menge. 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 Arbeitsauslastung 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 Sperrverknügung.
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 angibt. Hohe Fehlerraten können auf ein Leistungsproblem hinweisen. Sammeln und Analysieren von Datenbankfehlern.
Sammeln von Betriebssystemdaten
Eine Plattform-as-a-Service-Lösung (PaaS) beseitigt die Notwendigkeit, Betriebssystemleistungsdaten zu sammeln. Wenn Ihre Workload jedoch auf virtuellen Computern (Infrastruktur als Dienst) ausgeführt wird, müssen Sie Leistungsdaten über das Betriebssystem sammeln. Sie müssen die Nachfrage nach Ihrem Betriebssystem und ihrem virtuellen Computer verstehen. Beispiele für Leistungsindikatoren des Betriebssystems werden häufig verwendet. Sie können beispielsweise die Leistungsindikatoren jede Minute beispielen.
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 | - Prozessthreadanzahl - Anzahl der Prozesshandle |
Arbeitsspeicher | – Zugesicherten Arbeitsspeicher - Verfügbarer Arbeitsspeicher - Seiten pro Sekunde – Platznutzung tauschen |
Datenträger | - Datenträgerlesevorgang - Datenträgerschreibvorgänge - Datenträgerdurchsatz – Speicherplatznutzung |
Network | - 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 Flussleistung vollständig und präzise darstellen, da sie sich auf Leistungsziele bezieht. Die Antwortzeit für einen Webdienst hat beispielsweise ein Leistungsziel von 500 ms. Machen Sie es zu einer Routine, um die Daten zu analysieren, da häufige Auswertungen eine frühzeitige Erkennung und Risikominderung von Leistungsproblemen ermöglichen.
Erstellen von Warnungen Es ist vorteilhaft, Warnungen zu haben, die umsetzbar sind, wodurch eine schnelle Identifizierung und Berichtigung von Leistungsproblemen ermöglicht wird. Diese Warnungen sollten eindeutig auf den Sicherheitsschwellenwert, den potenziellen Geschäftseffekt und die beteiligten Komponenten hinweisen. Beginnen Sie, indem Sie allgemeine und empfohlene Warnungen festlegen. Im Laufe der Zeit können Sie diese Kriterien basierend auf Ihren spezifischen Anforderungen ändern. Das Hauptziel dieser Warnungen sollte es sein, potenzielle Leistungseinbußen zu prognostizieren, bevor sie in erhebliche Probleme eskalieren. Wenn Sie keine Warnung für eine externe Abhängigkeit festlegen können, sollten Sie eine Methode zum Sammeln indirekter Messungen wie die Dauer eines Abhängigkeitsaufrufs in Betracht ziehen.
Legen Sie Grenzwerte für die Datensammlung fest. Bestimmen und festlegen Sie logische Grenzwerte für die Menge der daten, die Sie sammeln, und deren Aufbewahrungsdauer. Telemetrie kann manchmal zu überwältigenden Datenmengen führen. Es ist wichtig, sich darauf zu konzentrieren, nur die wichtigsten Leistungsindikatoren zu erfassen oder über ein effizientes System zu verfügen, um aussagekräftige Erkenntnisse aus Ihren Leistungsdaten zu extrahieren.
Azure-Erleichterung
Zentralisieren, Segmentieren und Aufbewahren von Leistungsdaten: Azure Monitor sammelt und aggregiert Daten von jeder Ebene und Komponente Ihrer Workload über mehrere Azure- und Nicht-Azure-Abonnements und -Mandanten hinweg. Sie speichert die Daten in einer gemeinsamen Datenplattform, die von einer gemeinsamen Gruppe von Tools verwendet werden kann, die korrelieren, analysieren, visualisieren und/oder auf die Daten 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 den 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. Sie bietet Einblicke auf Anwendungsebene, indem Telemetriedaten wie Anforderungsraten, Reaktionszeiten und Ausnahmedetails erfasst werden. Sie können Application Insights für Ihre Anwendung aktivieren und konfigurieren, um die erforderlichen Leistungsdaten zu sammeln. Application Insights unterstützt auch die verteilte Ablaufverfolgung. Konfigurieren der verteilten Ablaufverfolgung für alle Flüsse. Um End-to-End-Transaktionsflüsse 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 über die CPU-Auslastung, die Speicherauslastung, die Datenträger-E/A, den Netzwerkdatenverkehr und vieles mehr sammeln können. Wenn Sie Ihre Anwendung so konfigurieren, dass Leistungsindikatorendaten 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 für Korrelationszwecke die 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-Datenbank für MySQL, Azure-Datenbank für 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 auf virtuellen Azure-Computern. Diese Empfehlungen helfen Ihnen, die Leistung Ihrer Datenbankworkloads zu optimieren. Dazu gehören Vorschläge zum Sammeln von Leistungsindikatoren, das Erfassen von Wartestatistiken und das Sammeln von Leistungsdaten während der Spitzenzeiten.
Mit Azure Storage Analytics können Sie Leistungsdaten für Azure Storage-Dienste wie Blob Storage, Tabellenspeicher und Warteschlangenspeicher sammeln. Sie können die Protokollierung und Metriken für Ihre Speicherkonten aktivieren, um wichtige Leistungsindikatoren zu überwachen, z. B. die Anzahl der Lese-/Schreibvorgänge, des Durchsatzes und der Latenz.
Sammeln von Betriebssystemleistungsdaten: Die Azure-Diagnose Erweiterung ermöglicht es Ihnen, detaillierte Leistungsdaten von Ihren virtuellen Computern (VMs) zu sammeln, einschließlich CPU, Arbeitsspeicher, Datenträger-E/A und Netzwerkdatenverkehr. Diese Daten können an Azure Monitor oder andere Speicherdienste zur Analyse und Warnung 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 so konfigurieren, dass Protokolle aus Ihrer Anwendung aufgenommen werden, einschließlich Protokolle auf Anwendungsebene und Infrastrukturprotokolle. Durch das Aggregieren von Protokollen können Sie Abfragen von Ereignissen durchführen und Einblicke in die Leistung Ihrer Anwendung erhalten. Weitere Informationen finden Sie unter Azure Monitor protokolliert Kostenberechnungen und -optionen und Preise 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 z. B. eine Warnungsregel erstellen, um Sie zu benachrichtigen, wenn die CPU-Auslastung einen bestimmten Schwellenwert überschreitet oder wenn die Reaktionszeit einen bestimmten Grenzwert überschreitet. Konfigurieren Sie die Warnungsregel, um Benachrichtigungen an die gewünschten Empfänger zu senden.
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 Anforderungen für die Leistungsüberwachung. 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
- Basiswebanwendung für hochverfügbare zonenredundante App Services
- Überwachen einer Microservices-Anwendung in Azure Kubernetes Service (AKS)
- Überwachung für Unternehmen mit Azure Monitor
Verwandte Links
Prüfliste zur Leistungseffizienz
Lesen Sie den vollständigen Satz von Empfehlungen.