Wenn ein Computer oder eine Anwendung anfängt zu ruckeln, wird üblicherweise die CPU als Ursache vermutet. RAM oder sogar zum Netzwerk, aber ohne verlässliche Daten ist es sehr leicht, einen Diagnosefehler zu machen. Mit dem Windows Performance Recorder (WPR) und dem Windows Performance Analyzer (WPA) können Sie detailliert erfassen und visualisieren, was passiert. im System genau dann, wenn Lastspitzen auftreten oder Leistungseinbrüche auftreten.
WPR und WPA sind keineswegs nur Werkzeuge für Gurus, sondern fügen sich perfekt in den Alltag von Entwicklern, Administratoren und fortgeschrittenen Benutzern ein. In Kombination mit anderen Hilfsprogrammen wie Visual Studio und Application Insights, PerfViewSkripte wie PerfCollect oder sogar der Task-Manager selbstDies bietet ein sehr leistungsstarkes Arsenal zur Lokalisierung von Engpässen bei CPU, Arbeitsspeicher, Festplatte, GPU, Netzwerk oder externen Abhängigkeiten.
Was ist der Windows Performance Recorder und wie fügt er sich in das Diagnose-Ökosystem ein?
Der Windows Performance Recorder ist Teil des Windows Performance Toolkit (WPT).WPT ist eine Sammlung von Microsoft-Tools zur Erfassung und Analyse der Leistung von Betriebssystemen. WPT umfasst zwei Hauptkomponenten:
- WPR. Es ist für die Aufzeichnung des Ereignisverlaufs zuständig.
- WPA. Die grafische Benutzeroberfläche, auf der diese Aufzeichnung dann geöffnet und untersucht wird.
WPR basiert auf der Infrastruktur von Ereignisablaufverfolgung für Windows (ETW), das in Windows integrierte Kernel-Level-Protokollierungssystem. Jede Aufzeichnungssitzung wird in einer Datei mit der Erweiterung . gespeichert. .etl (Ereignisablaufprotokoll), welches wir später mit WPA öffnen werden, um das Verhalten des Systems und der Anwendungen mit enormer Granularität zu untersuchen.
Um zu steuern, was protokolliert wird, verwendet WPR Profildateien mit der Erweiterung . .wprp. Diese Profile definieren die Anbieter und Ereignisse, die Abtastfrequenz, den Detaillierungsgrad usw. Dank dieser Profile kann die Erfassung an spezifische Szenarien angepasst werden.
Für seinen Teil, Windows-Leistungsanalyse Es handelt sich um das grafische Tool, mit dem Sie .etl-Dateien öffnen können. Erkunden Sie Informationen wie Zeitdiagramme, hierarchische Tabellen, korrelierte Zeitachsen und spezifische Ansichten für CPU, Speicher, E/A, Netzwerk und viele weitere Subsysteme. WPA ist äußerst flexibel. Sie können Daten nach verschiedenen Feldern sortieren, zeitlich hinein- und herauszoomen und nach Threads, Prozessen, Modulen, Aufrufstapeln und mehr gruppieren.

Wichtige Konzepte und Fachbegriffe vor den Aufnahmen
Bevor Sie mit dem Aufnehmen von Musikstücken beginnen, ist es ratsam, sich mit einigen grundlegenden Begriffen vertraut zu machen, die Ihnen in der Dokumentation und in den Tools selbst immer wieder begegnen werden. Die Kenntnis dieser Fachbegriffe ermöglicht es Ihnen, die Ergebnisse besser zu interpretieren und sich nicht in den Akronymen zu verlieren..
Der erste Schlüsselbegriff ist ETW (Ereignisverfolgung für Windows). Dies ist der in Windows integrierte Mechanismus zur Ereignisverfolgung auf Kernel-Ebene. Dank ETW können sowohl der Systemkernel als auch viele Anwendungen und Komponenten effizient und mit minimalen Auswirkungen Ereignisse auslösen.
Wenn diese Ereignisse auf die Festplatte geschrieben werden, werden sie in einer Datei gespeichert. Ereignisprotokoll mit der Dateiendung .etlBei jeder Trace-Analyse mit WPR entsteht typischerweise eine Datei dieses Typs, die wir dann mit WPA oder anderen kompatiblen Tools wie PerfView analysieren können.
Die Anwendung selbst, die die Aufnahme startet und stoppt, heißt WPR (Windows Performance Recorder)Dieser Rekorder akzeptiert ein oder mehrere .wprp-Profile als Eingabe, die festlegen, welche Ereignisse mit welcher Konfiguration aufgezeichnet werden. Üblicherweise werden vordefinierte Profile für CPU, E/A, Grafik oder die allgemeine Systemauslastung ausgewählt.
Schließlich WPA (Windows Performance Analyzer) Es handelt sich um die grafische Benutzeroberfläche, die .etl-Dateien öffnet und das Navigieren, Sortieren, Filtern und Korrelieren der Daten ermöglicht. Mit WPA können Sie detaillierter analysieren, welche Threads die CPU auslasten, welche Prozesse die meisten Festplattenzugriffe verursachen, welche externen Abhängigkeiten Latenzzeiten bedingen oder wie die Zeit auf verschiedene Operationen in einer Anwendung verteilt wird.
Verwendung von WPR und WPA zur Erkennung von CPU- und Systemengpässen
In industriellen Umgebungen, Backend-Umgebungen oder einfach auf anspruchsvollen Workstations, CPU-Spitzenlast Leistungsspitzen („Spikes“) gehören zu den häufigsten SymptomenWPR und WPA eignen sich besonders gut, um zu erfassen, was während dieser Spitzenwerte geschieht und um zu verstehen, was sie verursacht.
Der typische Arbeitsablauf beinhaltet die Verwendung von WPR soll die Aufzeichnung starten, kurz bevor das Problem auftrittDieser Prozess sollte entweder über die grafische Benutzeroberfläche oder die Kommandozeile gestartet und sofort nach Auftreten einer Lastspitze oder Leistungsanomalie gestoppt werden. Dadurch spiegelt die resultierende .etl-Datei das Systemverhalten während des kritischen Zeitfensters präzise wider.
Dann wird diese Datei geöffnet mit WPA bietet eine sehr intuitive visuelle Oberfläche zur Dateninspektion.Sie können Zeitdiagramme der CPU-Auslastung, des Speicherverbrauchs, der E/A- und anderer Zähler anzeigen lassen und dann von der globalen Systemansicht bis hin zu bestimmten Prozessen, bestimmten Threads und sogar Aufrufstapeln navigieren, die erklären, welcher Code zu einem bestimmten Zeitpunkt ausgeführt wurde.
Durch eine ruhige Analyse dieser Muster ist es möglich Die tatsächlichen Engpässe identifizieren. Beispielsweise ein Thread, der die CPU monopolisiert, eine bestimmte Routine, die zu häufig ausgeführt wird, oder ein schlecht konzipierter kritischer Abschnitt. In Bereichen wie der industriellen Motorunterstützung oder Steuerungssoftware ist diese Art detaillierter Analyse entscheidend für die Wettbewerbsfähigkeit und die Vermeidung von Produktionsausfällen.

.NET- und ASP.NET Core-Anwendungsdiagnose: Visual Studio, Application Insights und PerfView
Im .NET-Ökosystem gibt es neben WPR und WPA spezifische Tools, die sich sehr gut eignen, wenn das Ziel folgendes ist: Diagnostizieren von Leistungsproblemen in ASP.NET Core-Anwendungen oder .NET-BackenddienstenViele davon werden durch Systemüberwachung ergänzt.
Die In Visual Studio integrierte Profiling-Tools Sie stellen einen sehr praktischen ersten Schritt dar. Direkt in der Entwicklungsumgebung lassen sich CPU-Auslastung, Speicherbelegung, das Verhalten der Speicherbereinigung und bestimmte Leistungsereignisse innerhalb der Anwendung analysieren. Durch ihre Integration erleichtern sie die Arbeit während der Entwicklungs- und Testphasen erheblich.
Wenn sich das Szenario in Richtung Produktions- oder verteilter Umgebungen verschiebt, kommt Folgendes zum Tragen. Azure Application InsightsDieser Telemetriedienst sammelt automatisch verschiedene Daten, sowohl in ASP.NET Core als auch in anderen Stacks.
Eines seiner interessantesten Elemente ist die AnwendungsübersichtDiese Ansicht zeigt alle Komponenten einer verteilten Architektur und ermöglicht es Ihnen, Problembereiche oder Leistungsengpässe zwischen Diensten schnell zu identifizieren. Darüber hinaus... Azure Metrics ExplorerDadurch wird es einfacher, Kennzahlen grafisch darzustellen, Trends zu korrelieren und genauer auf Spitzenwerte oder Einbrüche bei den Werten einzugehen.
Das Application Insights-Leistungsblatt bietet eine Ansicht nach Operation: Es zeigt den Zeitpunkt jeder Aktion in der Anwendung an und ermöglicht Ihnen so, eine bestimmte Operation genauer zu untersuchen. und sehen Sie alle Abhängigkeiten, die dazu beitragen, dass es zu lange dauert, und selbst aus dieser Perspektive können Sie die Application Insights Profiler um detaillierte Leistungsdaten auf Abruf zu erfassen.
PerfView und PerfCollect: Tiefgehende Analyse in .NET- und Linux-Szenarien
Wenn Sie die Diagnosefunktionen in .NET-Anwendungen optimal nutzen möchten, empfiehlt sich die Verwendung von PerfViewPerfView, ein vom .NET-Team speziell für die Leistungsanalyse entwickeltes Tool, ist in der Lage, CPU-Auslastung, Speichernutzung, Verhalten des Garbage Collectors (GC), ETW-Ereignisse und Taktzeiten mit sehr hoher Detailgenauigkeit zu untersuchen.
Ein besonders starker Aspekt von PerfView ist seine Fähigkeit zum Öffnen und Analysieren von mit WPR generierten .etl-Dateien.Dies ermöglicht die Analyse von Aufrufstapeln und den Kosten jeder Funktion. Microsoft stellt eine sehr ausführliche Bedienungsanleitung bereit, die sowohl im Tool selbst als auch auf GitHub verfügbar ist und Anwendungsfälle, Befehle und empfohlene Arbeitsabläufe erläutert.
Der größte Nachteil ist, dass PerfView nur unter Windows läuft und daher nicht direkt auf Linux-Servern mit ASP.NET Core-Anwendungen gestartet werden kann. Um diese Einschränkung zu überwinden, bietet die .NET-Community und das Team eine Lösung an. PerfCollect, ein Bash-Skript, das native Linux-Tools verwendet wie z. B. perf und LTTng, um kompatibles Tracking zu erfassen.
Der Workflow in diesem Fall beinhaltet die Ausführung von PerfCollect in der Linux-Umgebung, in der das Leistungsproblem auftritt. Sammeln Sie die Spuren und übertragen Sie die resultierende Datei auf einen Windows-Computer.Von dort aus wird es mit PerfView geöffnet, um eine detaillierte Analyse der Aufrufstapel, der CPU-Auslastung und des GC-Verhaltens durchzuführen.
Detaillierte Informationen zur Installation von PerfCollect, zum Starten und Beenden von Trace-Sitzungen sowie zur Interpretation der Ergebnisse in Kombination mit PerfView und anderen Diagnosetools finden Sie auf GitHub.
Analyse von Engpässen in HoloLens und Geräten mittels WPA
Die Leistungsüberwachung beschränkt sich nicht auf Server und Desktop-PCs; sie ist auch besonders nützlich in Geräte wie HoloLensDort, wo die thermischen und Ressourcenreserven knapper sind, ist die Identifizierung von Prozessen, die Temperaturspitzen verursachen, oder von Threads, die die CPU auslasten, entscheidend für ein reibungsloses Mixed-Reality-Erlebnis.
In diesen Szenarien wird auch die ETW-Infrastruktur genutzt. HoloLens kann mithilfe des Windows Performance Recorders Ablaufverfolgungsprotokolle generieren.Diese werden als .etl-Dateien gespeichert und anschließend mit WPA von einem Test-PC aus geöffnet. Dadurch lassen sich Hardware- oder Software-Engpässe, wie z. B. Überhitzung oder besonders rechenintensive Prozesse, visualisieren.
Um WPA zu verwenden, laden Sie einfach die Anwendung herunter von Microsoft Store oder installieren Sie das Windows Performance Toolkit über das Windows Assessment and Deployment Kit (ADK). Das Kit enthält außerdem weitere allgemeine Debugging- und Diagnosetools für die Plattform.
Die HoloLens-Aufnahme erfolgt über die GeräteportalRufen Sie im Seitenmenü den Bereich „Leistungsüberwachung“ auf, wählen Sie ein vordefiniertes Profil aus oder laden Sie ein benutzerdefiniertes Profil. Klicken Sie anschließend auf „Überwachung starten“. Das Problemszenario wird nun reproduziert. Sobald die benötigten Daten erfasst wurden, beenden Sie die Überwachung. Das Portal zeigt dann die Ablaufverfolgung am unteren Seitenrand an.
Diese ETL-Datei kann direkt heruntergeladen, auf dem Analyserechner in WPA geöffnet oder mit anderen geteilt werden, damit diese die Analyse in ihrer Umgebung durchführen können. In WPA lassen sich spezifische Analyseprofile anwenden und der Fokus auf CPU, Arbeitsspeicher, GPU oder jedes andere für die Mixed-Reality-Anwendung relevante Subsystem legen.
Vorbereiten von Dateien und Profilen für die Analyse mit dem Windows Performance Analyzer
Für eine wirklich effektive WPA-Analyse empfiehlt es sich, die notwendigen Ressourcen um die .etl-Datei herum zu organisieren. Es wird empfohlen, einen Ordner zu erstellen, der die Tracking-, Symbol- und WPA-Profile enthält. Das wird verwendet, damit das Tool problemlos auf alles zugreifen kann.
Ein typisches Beispiel für eine funktionierende Struktur wäre, die Datei im selben Ordner zu haben. HoloLens_trace_file.etl-Trackingdatei, ein WPA-Profil wie CPU_analysis.wpaProfile und ein Unterordner „Symbole“ Alle notwendigen .pdb-Dateien sind bereits dekomprimiert. WPA kann dann Aufruflisten mit lesbaren Funktionsnamen auflösen, was entscheidend ist, um den Teil des Codes zu identifizieren, der die Last verursacht.
Der grundlegende Arbeitsablauf für die Analyse in WPA ist üblicherweise wie folgt: Starten Sie das Programm und öffnen Sie die .etl-Datei über das Menü „Datei > Öffnen“. Lassen Sie das Programm die Initialdaten laden. Laden Sie anschließend die Symbole über das Tracking-Menü („Track > Symbole laden“ oder ähnlich, je nach Version), indem Sie den Ordner angeben, in dem sich die .pdb-Dateien befinden.
Sobald WPA Symbole hat, kann es Wählen Sie ein bestimmtes Analyseprofil aus dem Menü „Profile“ aus.durch Auswahl der entsprechenden .wpaProfile-Datei. Dieser Schritt generiert automatisch eine Reihe von Diagrammen und Tabellen, die auf der Registerkarte „Analyse“ angezeigt werden und sich auf die wichtigsten Aspekte für diese Art der Überwachung konzentrieren (z. B. CPU, Scheduler, Festplatten-E/A usw.).
Anschließend geht es darum, diese Ansichten zu erkunden, Knoten zu erweitern, nach Prozessen oder Threads zu filtern und die in den Diagrammen dargestellten Daten mit dem beobachteten Verhalten auf dem Gerät zu korrelieren. Das Tool selbst bietet eine sehr hilfreiche Einführungsseite, und es stehen umfangreiche Dokumentationen und Schulungsmaterialien zur Verfügung, darunter Einführungsvideos und Schritt-für-Schritt-Anleitungen.
Die besten Engpassrechner für Windows
Zu den beliebtesten Optionen gehören einige Tools, die mit unterschiedlichen Ansätzen Sie versuchen, die Diskrepanz zwischen den Hauptkomponenten des Systems zu quantifizieren.Sie sind nicht perfekt, aber sie geben Aufschluss, wenn man weiß, wie man ihre Ergebnisse interpretiert.
Eines der bekanntesten ist das PC-Konfigurations-EngpassrechnerDie Benutzeroberfläche ist einfach: Man wählt einen Prozessor, eine Grafikkarte, die Zielauflösung und die Art der Nutzung (z. B. Gaming), und das Tool berechnet, ob die Kombination einen signifikanten Flaschenhals darstellt oder nicht.
Die Stärke dieses Rechners ist, dass Es ermöglicht Ihnen, Hardware verschiedener Hersteller sehr einfach zu kombinieren. Es liefert eine schnelle und klare Antwort darauf, ob die CPU die GPU ausbremst oder umgekehrt. Sein Hauptnachteil besteht darin, dass es die Größe und Geschwindigkeit des Arbeitsspeichers nicht berücksichtigt – Faktoren, die die tatsächliche Systemleistung ebenfalls maßgeblich beeinflussen.
Für eine etwas detailliertere Analyse können Sie sich an folgende Quelle wenden: Engpassrechner CPU-AgentIm Gegensatz zum vorherigen Tool berücksichtigt dieses Dienstprogramm die Speicherkapazität, die Speichergeschwindigkeit sowie die CPU, GPU, Auflösung und Grafikqualität, die Sie verwenden möchten.
Ein weiterer Vorteil dieses Werkzeugs ist, dass Es bietet ausführlichere Informationen zu jeder Komponente. Zum Beispiel: ob der Prozessor über eine integrierte Kühlung verfügt, wie gut er bei verschiedenen Auflösungen abschneidet, welche Auslastungsprozentsätze zu erwarten sind usw. All dies hilft, das Gesamtbild besser zu verstehen und eine fundierte Entscheidung zu treffen.
In beiden Fällen handelt es sich um kostenlose und sehr benutzerfreundliche Dienste: Man wählt die gewünschten Komponenten aus, führt die Berechnung durch und erhält die Ergebnisse innerhalb weniger Sekunden. Es empfiehlt sich jedoch, sich etwas Zeit für die Interpretation der Ergebnisse zu nehmen und sich nicht allein auf den Gesamtprozentsatz zu verlassen.
Wie man mithilfe von Rechnern und Foren die richtige Hardware auswählt
Engpassrechner sollten allein nicht als Entscheidungsgrundlage dienen. Sie stellen jedoch einen sehr nützlichen ersten Filter dar. Idealerweise sollten sie dazu verwendet werden, die Anzahl sinnvoller Kombinationen von CPU, GPU und RAM einzugrenzen.und von dort aus weiter zu ermitteln.
Eine gute Ergänzung ist der Besuch des Foren der Hardwarehersteller selbst oder spezialisierte Communities Um andere Nutzer zu finden, die die gleiche Kombination von Komponenten verwenden, die Sie in Betracht ziehen, finden Sie oft Threads mit Erfahrungsberichten aus der Praxis, Benchmarks und Berichten über aufgetretene Probleme.
Es lohnt sich auch, direkte Fragen zu stellen: Prüfen Sie, ob jemand bei der Ausführung derselben Software mit einem bestimmten Prozessor und einer bestimmten Grafikkarte Engpässe festgestellt hat. die Sie verwenden möchten. Oder bitten Sie um Vorschläge für alternative Kombinationen, die im gleichen Budgetrahmen besser geeignet sein könnten.
Darüber hinaus ist es sehr nützlich, sich darauf zu verlassen. Seiten für die benutzerdefinierte PC-KonfigurationMithilfe dieser Tools können wir Budget, Leistung und Energieverbrauch in Einklang bringen. Durch die Kombination von Informationen aus Rechnern, Foren und diesen Konfiguratoren können wir eine fundierte Kaufentscheidung treffen, die genau auf unsere Bedürfnisse zugeschnitten ist.
Dieser Ansatz ermöglicht es Ihnen nicht nur, die richtigen Komponenten auszuwählen, sondern dies auch mit großem Vertrauen zu tun, da Sie wissen, dass es Nutzer mit positiven Erfahrungen gibt und die Wahrscheinlichkeit, auf ernsthafte Engpässe zu stoßen, deutlich geringer ist.
So finden Sie mithilfe von Windows-Tools Engpässe auf einem vorkonfigurierten PC.
Sobald die Geräte montiert und in Betrieb sind, besteht keine Notwendigkeit mehr, sofort auf externe Hilfsmittel zurückzugreifen, um Ungleichgewichte zu erkennen. Windows beinhaltet den Task-Manager, ein sehr nützliches Werkzeug zur Echtzeitüberwachung der CPU-, RAM-, Festplatten-, GPU- und Netzwerkauslastung..
Das grundlegende Verfahren besteht aus:
- Öffnen Sie den Task-Manager.
- Schließen Sie alle Anwendungen außer derjenigen, die Sie analysieren möchten.
- Beobachten Sie, wie sich die verschiedenen Ressourcen während der Ausführung der typischen Arbeitslast entwickeln.
Wenn Sie während der Nutzung eines bestimmten Programms feststellen, dass die CPU, der Arbeitsspeicher, die Festplatte oder das Netzwerk Sie werden durchgehend zu 100 % ausgelastet.Diese Komponente stellt wahrscheinlich den Engpass des Systems dar. Sie ist ein ziemlich eindeutiges Anzeichen für einen Flaschenhals und hilft dabei, zu bestimmen, welches Teil zuerst aufgerüstet werden sollte.
Ein klassisches Beispiel ist ein sehr anspruchsvolles Spiel, dessen Prozessoranforderungen die Leistung der installierten CPU übersteigen. In solchen Fällen Die CPU-Auslastung kann konstant bei 100 % liegen, während der Arbeitsspeicher nicht so stark ausgelastet ist.
Durch die Wiederholung dieser Tests mit verschiedenen Anwendungen und Arbeitslasten lässt sich schrittweise ein recht realistisches Bild davon gewinnen, welche Komponente die Gesamtleistung des Systems am stärksten beeinträchtigt. Und somit, welches Upgrade am kosteneffektivsten wäre.
Dieses gesamte Monitoring-Ökosystem – von WPR und WPA bis hin zu PerfView, Application Insights, Engpassrechnern, Netzwerküberwachung oder einfachen Task-Manager-Ansichten – ermöglicht es Ihnen, ein ziemlich genaues Bild davon zu erstellen, wo Leistungseinbußen auftreten. Das Ziel: Engpässe wesentlich schneller und effektiver zu lokalisieren und zu beheben. Man sollte vermeiden, blind auf teure Updates zu setzen, die dann das eigentliche Problem nicht lösen.
