Behandeln von Leistungsproblemen von virtuellen Azure-Computern unter Linux oder Windows
Gilt für: ✔️ Linux-VMs ✔️ Windows-VMs
Dieser Artikel beschreibt die allgemeine Behandlung von Leistungsproblemen bei virtuellen Computern (VMs) durch Überwachen und Beobachten von Leistungsengpässen und bietet mögliche Korrekturen für Probleme, die auftreten können. Neben Überwachung können Sie auch Perfinsights verwenden, um einen Bericht mit Best Practice-Empfehlungen und wichtigen Engpässen rund um E/A, CPU und Arbeitsspeicher bereitzustellen. Perfinsights ist für Windows- und Linux-VM in Azure verfügbar.
In diesem Artikel wird die Verwendung von Überwachung zur Diagnose von Leistungsengpässen erläutert.
Aktivieren der Überwachung
Überwachung von virtuellen Azure-IaaS-Computern
Zum Überwachen der Gast-VM verwenden Sie die Azure-VM-Überwachung, die Sie bei bestimmten Ressourcenbedingungen auf allgemeiner Ebene warnt. Informationen zum Überprüfen, ob die VM-Diagnose aktiviert ist, finden Sie in der Übersicht über Azure-Ressourcenprotokolle. Wenn Sie diese Meldung sehen, ist die Diagnose wahrscheinlich nicht aktiviert:
Aktivieren der VM-Diagnose im Microsoft Azure-Portal
So aktivieren Sie die VM-Diagnose:
Wechseln Sie zum virtuellen Computer.
Klicken Sie auf "Diagnoseeinstellungen".
Wählen Sie das Speicherkonto aus, und klicken Sie auf Überwachung auf Gastebene aktivieren.
Sie können das Speicherkonto, das für die Diagnoseeinrichtung verwendet wird, über die Registerkarte Agent unter Diagnoseeinstellungen überprüfen.
Aktivieren der Speicherkontodiagnose im Azure-Portal
Der Speicher ist eine sehr wichtige Ebene, wenn wir beabsichtigen, E/A-Leistung für einen virtuellen Computer in Azure zu analysieren. Für speicherbezogene Metriken müssen wir die Diagnose als zusätzlichen Schritt aktivieren. Diese kann auch aktiviert werden, wenn nur die speicherbezogenen Leistungsindikatoren analysiert werden sollen.
Bestimmen Sie, welches Speicherkonto (oder welche Speicherkonten) Ihre VM verwendet, indem Sie die VM auswählen. Klicken Sie auf Einstellungen und dann auf Datenträger:
Navigieren Sie im Portal zu dem Speicherkonto (oder den Speicherkonten) der VM, und arbeiten Sie sich durch die folgenden Schritte:
- Klicken Sie für das Speicherkonto, das Sie mit dem oben beschriebenen Schritt ermittelt haben, auf „Übersicht“.
- Standardmetriken werden angezeigt.
Klicken Sie auf eine der Metriken, damit ein weiteres Blatt mit weiteren Optionen zum Konfigurieren und Hinzufügen von Metriken angezeigt wird.
So konfigurieren Sie diese Optionen:
- Klicken Sie auf Metriken.
- Wählen Sie die Ressource (Speicherkonto) aus.
- Wählen Sie den Namespace aus.
- Wählen Sie Metrik aus.
- Wählen Sie den Typ der Aggregation aus.
- Sie können diese Ansicht an das Dashboard anheften.
Beobachten von Engpässen
Nachdem wir den anfänglichen Einrichtungsvorgang für die erforderlichen Metriken abgeschlossen und die Diagnose für die VM und das zugehörige Speicherkonto aktiviert haben, können wir in die Analysephase wechseln.
Zugriff auf die Überwachung
Wählen Sie die zu untersuchende Azure-VM und dann Überwachung aus.
Beobachtungszeitskalen
Um zu bestimmen, ob Ressourcenengpässe vorliegen, überprüfen Sie Ihre Daten. Wenn Sie herausfinden, dass Ihr Computer einwandfrei gelaufen ist, in jüngster Zeit aber nachlassende Leistung gemeldet wurde, überprüfen Sie einen Zeitbereich der Daten, der Leistungsmetriken vor der gemeldeten Änderung sowie während und nach dem Problem umfasst.
Überprüfen der CPU auf Engpässe
- Bearbeiten Sie das Diagramm.
- Legen Sie den Zeitraum fest.
- Anschließend müssen Sie den folgenden Leistungsindikator hinzufügen: CPU-Prozentsatz Gastbetriebssystem
- Speichern Sie sie.
CPU-Beobachtungstrends
Seien Sie sich bei der Untersuchung von Leistungsproblemen der Trends bewusst, und bemühen Sie sich darum, sie zu verstehen, wenn sie Sie betreffen. In den nächsten Abschnitten verwenden wir die Überwachungsdiagramme aus dem Portal, um Trends zu veranschaulichen. Sie können außerdem für Querverweise auf abweichendes Ressourcenverhalten innerhalb des gleichen Zeitraums nützlich sein. Klicken Sie zum Anpassen der Diagramme auf Azure Monitor-Datenplattform.
Spitzen: Spitzen können mit einer geplanten Aufgabe/einem bekannten Ereignis zusammenhängen. Wenn Sie die Aufgabe identifizieren können, bestimmen Sie, ob die Aufgabe auf der erforderlichen Leistungsstufe ausgeführt wird. Wenn die Leistung akzeptabel ist, müssen Sie möglicherweise keine weiteren Ressourcen zuweisen.
Steiler Anstieg und Plateau: Zeigt oftmals eine neue Workload an. Wenn die Workload nicht bekannt ist, aktivieren Sie Überwachung in der VM, um herauszufinden, welcher Prozess (oder Prozesse) dieses Verhalten verursacht. Sobald der Prozess bekannt ist, bestimmen Sie, ob sein höherer Ressourcenverbrauch durch ineffizienten Code oder normalen Verbrauch verursacht wird. Wenn es sich um normalen Verbrauch handelt, bestimmen Sie, ob der Prozess auf der normalen Leistungsstufe ausgeführt wird.
Plateau: Bestimmen Sie, ob Ihre VM im Betrieb schon immer dieses Niveau erreichte oder sie erst nach dem Aktivieren der Diagnose auf diesem Niveau ausgeführt wurde. Wenn dies der Fall ist, identifizieren Sie die Prozesse, die das Problem verursachen, und erwägen Sie, mehr von der betroffenen Ressourcen hinzuzufügen.
Stetige Zunahme: Ein ständiger Anstieg im Ressourcenverbrauch ist oftmals entweder auf ineffizienten Code oder auf einen Prozess zurückzuführen, der mehr Benutzerworkload übernimmt.
Wartungsmaßnahmen bei hoher CPU-Auslastung
Wenn Ihre Anwendung oder Ihr Prozess nicht auf der richtigen Leistungsstufe ausgeführt wird und Sie eine konstante CPU-Auslastung von über 95 % beobachten, können Sie eine der beiden folgenden Aufgaben ausführen:
- Zur sofortigen Abhilfe: Erhöhen Sie die Größe der VM auf eine Größe, die mehr Kerne aufweist
- Verstehen des Problems: Bestimmen Sie die Anwendung/den Prozess, und führen Sie eine entsprechende Problembehandlung durch.
Wenn Sie die VM vergrößert haben und die CPU immer noch zu 95 % ausgelastet ist, bestimmen Sie, ob diese Einstellung bessere Leistung oder einen höheren Anwendungsdurchsatz auf einer akzeptablen Stufe bietet. Führen Sie andernfalls eine Problembehandlung der einzelnen Anwendung/des einzelnen Prozesses durch.
Sie können Perfinsights für Windows oder Linux verwenden, um zu analysieren, welcher Prozess für den CPU-Verbrauch verantwortlich ist.
Prüfen auf Speicherengpass
So zeigen Sie die Metriken an:
- Fügen Sie einen Abschnitt hinzu.
- Fügen Sie eine Kachel hinzu.
- Öffnen Sie den Katalog.
- Wählen Sie „Speicherauslastung“ aus, und ziehen Sie das Objekt auf die Kachel. Wenn die Kachel angedockt ist, klicken Sie mit der rechten Maustaste, und wählen Sie 6x4 aus.
Arbeitsspeicher-Beobachtungstrends
Die Speicherauslastung zeigt Ihnen, wie viel Arbeitsspeicher von der VM verbraucht wird. Verstehen Sie den Trend, und überprüfen Sie, ob er sich den Zeiten zuordnen lässt, zu denen Sie Probleme beobachten. Sie sollten zu jeder Zeit mehr als 100 MB verfügbaren Arbeitsspeicher haben.
Steiler Anstieg und Plateau/Gleichbleibend hohe Auslastung: Hohe Speicherauslastung ist möglicherweise nicht die Ursache schlechter Leistung, da einige Anwendungen, wie etwa relationale Datenbank-Engines, eine große Menge Arbeitsspeicher zuordnen, und diese Auslastung ist möglicherweise nicht ausreichend. Wenn mehrere speicherhungrige Anwendungen ausgeführt werden, kann jedoch schlechte Leistung aufgrund der Konkurrenz um Arbeitsspeicher auftreten, was zu Zuschneiden und Auslagern auf Datenträger führen kann. Diese schlechte Leistung ist oftmals in erheblichem Maß ursächlich für die Leistung von Anwendungen.
Stetig steigender Verbrauch – Eine mögliche Anwendung "Aufwärmung", dieser Verbrauch ist bei datenbankmodulen beim Start üblich. Der Trend könnte jedoch ebenfalls auf einen Arbeitsspeicherverlust in einer Anwendung hindeuten. Identifizieren Sie die Anwendung, und verstehen Sie, ob es sich um ein erwartetes Verhalten handelt.
Seiten- oder Auslagerungsdatei: Überprüfen Sie, ob Sie die Windows-Auslagerungsdatei (auf D:) oder die Linux-Swapdatei (befindet sich auf /dev/sdb
) häufig verwendet werden. Wenn auf diesen Volumes nichts außer diesen Dateien vorhanden ist, prüfen Sie diese Datenträger auf hohe Vorkommen von Lese-/Schreibvorgängen. Dieses Problem weist auf einen Zustand mit wenig Arbeitsspeicher hin.
Wartungsmaßnahme bei hoher Speicherauslastung
Um hohe Speicherauslastung zu beheben, führen Sie eine der folgenden Aufgaben aus:
- Sofortige Abhilfe bei Nutzung der Auslagerungsdatei: Erhöhen Sie die Größe der VM-Datei auf eine mit mehr Arbeitsspeicher, und führen Sie dann eine Überwachung durch.
- Verstehen des Problems: Spüren Sie Anwendungen/Prozesse auf, und führen Sie dann eine Problembehandlung aus, um Anwendungen mit hohem Speicherverbrauch zu ermitteln.
- Wenn Sie die Anwendung kennen, prüfen Sie, ob die Speicherzuweisung gedeckelt werden kann.
Wenn Sie nach dem Upgrade auf eine größere VM feststellen, dass Sie immer noch eine konstante ständige Zunahme bis 100 % verzeichnen, identifizieren Sie die Anwendung/den Prozess, und führen Sie eine Problembehandlung durch.
Sie können Perfinsights für Windows oder Linux verwenden, um zu analysieren, welcher Prozess für den Arbeitsspeicherverbrauch verantwortlich ist.
Überprüfen der Datenträger auf Engpässe
Um das Speichersubsystem der VM zu überprüfen, überprüfen Sie die Diagnoseprotokolle auf der Azure VM-Ebene mithilfe der Leistungsindikatoren in der VM-Diagnose und ebenfalls der Speicherkontodiagnose.
Für die vmspezifische Problembehandlung können Sie Perfinsights für Windows oder Linux verwenden, was dazu beitragen kann, zu analysieren, welcher Prozess die E/A-Adresse vorantreibt.
Beachten Sie, dass keine Leistungsindikatoren für Zonenredundanz und Premium-Speicherkonten vorhanden sind. Bei Problemen im Zusammenhang mit diesen Leistungsindikatoren öffnen Sie eine Supportanfrage.
Anzeigen der Speicherkontodiagnose in der Überwachung
Um an den Elementen unten zu arbeiten, wechseln Sie zum Speicherkonto für die VM im Portal:
- Bearbeiten Sie das Überwachungsdiagramm.
- Legen Sie den Zeitraum fest.
- Fügen Sie die in den Schritten unten beschriebenen Leistungsindikatoren hinzu.
- Speichern Sie die Änderungen.
Beobachtungstrends bei Datenträgern (nur Standardspeicher)
Um Probleme mit dem Speicher zu erkennen, sehen Sie sich die Leistungsmetriken der Speicherkontodiagnose und der VM-Diagnose an.
Suchen Sie für jede Überprüfung unten nach Schlüsseltrends, wenn die Probleme innerhalb des Zeitraums dieses Problems auftreten.
Überprüfen der Verfügbarkeit von Azure Storage – Hinzufügen der Speicherkontometrik: Verfügbarkeit
Wenn Sie ein Nachlassen der Verfügbarkeit finden, liegt möglicherweise ein Problem mit der Plattform vor, überprüfen Sie den Azure-Status. Wenn hier kein Problem angezeigt wird, öffnen Sie eine neue Supportanfrage.
Überprüfen des Azure-Speichertimeouts – Hinzufügen der Speicherkontometriken
- ClientTimeOutError
- ServerTimeOutError
- AverageE2ELatency
- AverageServerLatency
- TotalRequests
Die Werte in den *TimeOutError-Metriken deuten darauf hin, dass ein E/A-Vorgang zu lange dauerte und ein Timeout ausgeführt wurde. Wenn Sie die nächsten Schritte durcharbeiten, können Sie potenzielle Ursachen erkennen.
AverageServerLatency steigt gleichzeitig an – die TimeOutErrors stellen möglicherweise ein Plattformproblem dar. Öffnen Sie in dieser Situation eine neue Supportanfrage.
AverageE2ELatency stellt die Clientlatenz dar. Überprüfen Sie, welche Leistung die Anwendung bei IOPS erbringt. Suchen Sie nach einem Anstieg oder konstant hohen Metriken für TotalRequests. Diese Metrik stellt IOPS dar. Wenn Sie sich den Grenzen des Speicherkontos oder der einzelnen virtuellen Festplatte annähern, ist die Latenz möglicherweise auf Drosselung zurückzuführen.
Überprüfung auf Drosselung von Azure Storage: Fügen Sie diese Speicherkontometrik hinzu: ThrottlingError
Werte für die Drosselung weisen darauf hin, dass eine Einschränkungen auf der Ebene des Speicherkontos auftritt, was bedeutet, dass Sie sich dem IOPS-Grenzwert des Kontos annähern. Sie können bestimmen, ob Sie sich dem IOPs-Schwellenwert annähern, indem Sie die Metrik TotalRequests überprüfen.
Beachten Sie, dass jede virtuelle Festplatte einen Grenzwert von 500 IOPS oder 60 MBit aufweist, jedoch durch den kumulativen Grenzwert von 20.000 IOPS pro Speicherkonto gebunden ist.
Auf der Grundlage dieser Metrik können Sie nicht bestimmen, welcher Blob die Drosselung bewirkt und welche Blobs von ihr betroffen sind. Klar ist aber, dass Sie entweder den IOPS-Grenzwert oder den eingehenden/ausgehenden Grenzwert des Speicherkontos erreichen.
Um zu bestimmen, ob Sie den IOPS-Grenzwert erreichen, wechseln Sie zur Speicherkontodiagnose, und überprüfen Sie TotalRequests, um festzustellen, ob Sie sich an die 20 tausend TotalRequests annähern. Bestimmen Sie entweder eine Änderung im Muster, ob Sie diesen Grenzwert zum ersten Mal erreichen oder ob dieser Grenzwert zu bestimmten Zeiten erreicht wird.
Mit neuen Datenträgerangeboten unter Storage Standard können die IOPS- und Durchsatzlimits abweichen, aber das kumulative Limit für das Storage Standard-Speicherkonto beträgt 20.000 IOPS (Storage Premium hat unterschiedliche Grenzwerte auf Konto- oder Datenträgerebene). Weitere Informationen zu Storage Standard-Datenträgerangeboten und Grenzwerten pro Datenträger:
References
Die Bandbreite des Speicherkontos wird mithilfe folgender Speicherkontometriken gemessen: TotalIngress und TotalEgress. Je nach Redundanztyp und Region gelten verschiedene Schwellenwerte für die Bandbreite.
Vergleichen Sie TotalIngress und TotalEgress mit den Grenzwerten für Ingress und Egress für den Redundanztyp und die Region des Speicherkontos.
Überprüfen Sie die Grenzwerte für den Durchsatz der mit der VM verbundenen VHDs. Fügen Sie die VM-Metriken „Datenträgerlesevorgänge“ und „Datenträgerschreibvorgänge“ hinzu.
Neue Datenträgerangebote in Storage Standard weisen unterschiedliche IOPS- und Durchsatzlimits auf (IOPS werden nicht pro VHD verfügbar gemacht). Sehen Sie sich die Daten an, um festzustellen, ob Sie auf der Grundlage der Datenlese- und -schreibvorgänge die Grenzwerte des kombinierten Durchsatzes in MB der VHD(s) erreichen, und optimieren Sie dann Ihre VM-Speicherkonfiguration, um eine Skalierung jenseits der Grenzwerte einzelner VHDs zu erreichen. Weitere Informationen zu Storage Standard-Datenträgerangeboten und Grenzwerten pro Datenträger:
Wartung bei hoher Datenträgerverwendung/Latenz
Verringern der Clientlatenz und Optimieren der VM-E/A, um eine Skalierung jenseits der VHD-Grenzwerte zu erreichen
Verringern der Drosselung
Wenn die oberen Grenzwerte von Speicherkonten erreicht werden, gleichen Sie die VHDs zwischen den einzelnen Speicherkonten neu aus. Informationen hierzu finden Sie unter Skalierbarkeits- und Leistungsziele für Azure Storage.
Vergrößern des Durchsatzes und Verringern der Latenz
Wenn Sie eine für Latenz anfällige Anwendung ausführen und hohen Durchsatz benötigen, migrieren Sie Ihre VHDs zu Azure Premium Storage, indem Sie VMs der DS- und GS-Reihe verwenden.
Die spezifischen Szenarien werden in diesen Artikeln besprochen:
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.