Heim  >  Artikel  >  Backend-Entwicklung  >  ANTS Performance Profiler (Tutorial zur .NET-Leistungsoptimierung)

ANTS Performance Profiler (Tutorial zur .NET-Leistungsoptimierung)

Y2J
Y2JOriginal
2017-04-25 10:57:071625Durchsuche


Artikel der Serie „.NET Performance Tuning“

Index der Serienartikel

  • Eines der .NET Performance Tunings: ANTS Verwendung von Performance Profiler

  • .NET-Leistungsoptimierung Teil 2: Verwendung von Visual Codemessung in Studio

  • .NET-Leistungsoptimierung Teil 3: Optimierungstools und -methoden für YSlow-bezogene Regeln

Verwenden von .NET Nachdem Sie es schnell verstanden haben Wenn Sie eine Anwendung gestartet und entwickelt haben, besteht das nächste Problem möglicherweise in der Leistungsoptimierung des Programms. Die Leistungsoptimierung umfasst manchmal verschiedene Aspekte, z. B. das Programm-Hosting-System, die Datenbank, die Netzwerkumgebung usw., und wenn das Programm extrem groß und komplex ist, ist die Leistungsoptimierung erforderlich wird noch schwieriger zu starten sein.

In dieser Artikelserie werden hauptsächlich einige .NET-Leistungsoptimierungstools, Webleistungsoptimierungsregeln (z. B. YSlow) und Methoden usw. vorgestellt. Das Letzte, was ich sehen möchte, bevor es geschrieben wird, ist die endlose Debatte im Garten darüber, „welche Sprache besser ist und welche Sprache leistungsfähiger ist“. Jeder, der es wirklich versteht, sollte ohne weiteres wissen, ob eine solche Debatte sinnvoll ist Ich hoffe, wir können aus praktischer Sicht das Problem aus der Perspektive der Leistungsoptimierung diskutieren.

Grundlegende Verwendung von ANTS Performance Profiler

ANTS Performance Profiler ist ein leistungsstarkes Leistungsoptimierungsprodukt von RedGate. Die offizielle Produktseite finden Sie hier.

Sehen wir uns zunächst die grundsätzliche Nutzung der Software an.

Verwenden Sie den folgenden Code für einen einfachen Test.

Dies ist eine Konsolenanwendung. Das Programm führt zunächst eine Schleife von 10.000 Malen durch, gibt die Summe aus und verwendet dann LINQ, um den Wert 1000 in der Liste zu finden und auszugeben.

1 static void Main() 2 { 3     var list = new List<int>(); 4  5     var sum = 0; 6     for (var i = 0; i < 10000; i++) 7     { 8         sum += i; 9         list.Add(i);10     }11     Console.WriteLine(sum);12 13     //find the value use linq: 100014     var result = list.Where(p => p.Equals(1000));15     foreach (var i in result)16     {17         Console.WriteLine(i);18     }19     Console.ReadKey();20 }

Nachdem Sie das Programm kompiliert haben, starten Sie ANTS Performance Profiler. Daraufhin wird automatisch eine Assistentenseite angezeigt. Auf dieser Seite können Sie sehen, dass die Software die Leistungsüberwachung verschiedener .NET-Programme unterstützt, z als EXE, Web- und Windows-Dienst usw.

In Performace Counters können Sie je nach Bedarf eine Vielzahl von Zählern auswählen, z. B. E/A, Speicherzuweisung, Prozessor usw.

Wählen Sie zum Testen von DEMO den Pfad der kompilierten Exe-Datei aus. Da es sich gerade um eine Debug-Kompilierung handelte, wählen Sie die Exe in binDebug unter dem Programmordner aus.

Im Profiling-Modus können Sie den Grad der Überwachung wählen, der im Wesentlichen ein Gleichgewicht zwischen der Menge der Überwachungsinformationen und der Geschwindigkeit darstellt. Die Standardauswahl ist „am detailliertesten“. Weitere detaillierte Einstellungen finden Sie im Hilfedokument .

Klicken Sie auf „Profilerstellung starten“, um das Programm zu starten.

Anzeigen und Analysieren von Analyseergebnissen

Das grundlegende Arbeitsprinzip der Software besteht darin, Haken in den von .NET kompilierten IL-Code zu setzen, um die Zeit aufzuzeichnen. Anschließend zeigt eine intuitive Benutzeroberfläche an, welche Teile des Codes am meisten Energie verbrauchen. Dies ist also die direkteste Methode zur Leistungsoptimierung. Optimieren Sie einfach die zeitaufwändigsten Codesegmente.

Klicken Sie auf „Profilerstellung starten“, um das zuvor kompilierte Programm zu starten. Die Software beginnt mit der Ausführung, wenn es sich um andere interaktive Programme wie Winform, Web usw. handelt, nachdem die Funktionen ausgeführt wurden die eine Leistungsoptimierung erfordern, wählen Sie einfach mit der Maus den Zeitraum aus, den Sie in der laufenden Zeitleiste oben anzeigen möchten. Im Allgemeinen wird es während des Zeitraums, in dem es Leistungsprobleme gibt, einen Spitzenwert geben. Wählen Sie einfach diesen Zeitraum aus.

Nach der Auswahl sehen Sie im Ergebnisfenster unten sofort die zeitaufwändigste Methode, wie z. B. die DEMO oben. Natürlich wird die Leistung verbraucht in der Hauptfunktion überlegen.

Die Software stellt verschiedene Messwerte zur Anzeige von Leistungsverlusten zur Verfügung, darunter Prozentsätze und mehrere Zeitformate. Als Maßeinheit werden hier „Sekunden“ ausgewählt.

Wählen Sie dann die Funktion aus, die Sie anzeigen möchten, und die Leistungsfähigkeit der Software wird deutlich.

  • Klicken Sie auf die rote Linie rechts, um schnell den energieverbrauchendsten Code zu finden. Je dunkler die Farbe, desto energieverbrauchender ist dieser Code.

  • Auf der linken Seite sehen Sie die Zeilennummer, die Anzahl der Ausführungen dieses Codes (Hit Count), die durchschnittliche Ausführungszeit, die Gesamtausführungszeit und natürlich Sie Sie können den Code auch zur Analyse einsehen.

Warum dieser Code in der DEMO beim ersten Ausführen von Console.WriteLine so viel Energie verbraucht, denke ich, dass Sie es herausfinden können, wenn Sie das erste Kapitel lesen von „CLR über C#“ sorgfältig.

Natürlich können Sie auch auf das Hierarchiesymbol klicken, um einen intuitiveren Leistungsverlust anzuzeigen, wie unten.

Ein weiterer Vorteil eines solchen hierarchischen Strukturdiagramms besteht darin, dass Sie die interne Implementierung des .NET Framework sehen können.

Bei einigen Entscheidungen, z. B. ob native Funktionen oder Komponenten von Drittanbietern verwendet werden sollen, wird diese Funktion sehr nützlich sein, da sie intuitiver erkennen kann, wo die Leistungsengpässe der internen Implementierung liegen.

Fazit

ANTS Performance Profiler ist mein erstes und liebstes Tool zur Leistungsoptimierung, daher habe ich es in den ersten Artikel aufgenommen. Lass es mich mit dir teilen, Ich hoffe, es kann Ihnen etwas helfen.

Da das vorliegende komplexe Projekt nicht für DEMO geeignet ist, habe ich nur einen einfachen Code zur Demonstration geschrieben. Seine Leistung kann nur verwendet werden, wenn tatsächlich Leistungsprobleme auftreten erlebe es.

Wenn der Artikel Auslassungen oder Ergänzungen enthält, hinterlassen Sie bitte eine Nachricht zur gemeinsamen Diskussion und achten Sie auch auf nachfolgende verwandte Artikel.

Wenn der Artikel für Sie hilfreich ist, empfehlen Sie ihn bitte weiter, vielen Dank :)

Das obige ist der detaillierte Inhalt vonANTS Performance Profiler (Tutorial zur .NET-Leistungsoptimierung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn