Delen via


Runtimeprofilering

Notitie

Dit artikel is specifiek voor .NET Framework. Dit geldt niet voor nieuwere implementaties van .NET, waaronder .NET 6 en nieuwere versies.

Profilering is een methode voor het verzamelen van prestatiegegevens in elk ontwikkelings- of implementatiescenario. Deze sectie is bedoeld voor ontwikkelaars en systeembeheerders die informatie willen verzamelen over de prestaties van toepassingen.

Prestaties bijhouden met behulp van de prestatiemeter (Perfmon.exe)

Performance Monitor is het eenvoudigste hulpprogramma om uw .NET Framework-toepassing te profilen. De prestatiemeter vertegenwoordigt gegevens die zijn gevonden in de .NET Framework-prestatiemeteritems die zijn geïnstalleerd met de algemene taalruntime en de Windows SDK. Deze tellers kunnen worden gebruikt om alles te bewaken, van geheugenbeheer tot Just-In-Time-compilerprestaties (JIT). Ze vertellen u over de resources die uw toepassing gebruikt. Dit is een indirecte meting van de prestaties van uw toepassing. Gebruik deze tellers om te begrijpen hoe uw toepassing intern werkt.

Perfmon.exe uitvoeren op Windows Vista en latere versies

  1. Typ perfmon bij de opdrachtprompt. De console Prestatiemeter wordt weergegeven.

  2. Klik in de map Bewakingshulpmiddelen op Prestatiemeter.

  3. Klik op de werkbalk Prestatiemeter op het pictogram Toevoegen (het plusteken) als deze aanwezig is. Als deze niet aanwezig is, klikt u met de rechtermuisknop in het monitorvenster en selecteert u de optie Tellers toevoegen.

    Hiermee opent u het dialoogvenster Tellers toevoegen. In de keuzelijst Beschikbare prestatiemeteritems worden de beschikbare prestatieobjecten weergegeven. Er zijn een aantal vooraf gedefinieerde objecten voor .NET Framework-toepassingen, waaronder die voor geheugenbeheer (.NET CLR Memory), interoperabiliteit (.NET CLR Interop), uitzonderingsafhandeling (.NET CLR-uitzonderingen) en multithreading (.NET CLR LocksAndThreads). Elk prestatieobject bevat een aantal afzonderlijke prestatiemeteritems. Zie Prestatiemeteritems voor een lijst met de prestatiemeteritems die beschikbaar zijn in Prestatiemeter.

  4. Schakel het selectievakje in naast de naam van een prestatieobject om de lijst met afzonderlijke prestatiemeteritems weer te geven die door het object worden ondersteund.

  5. Klik op het prestatiemeteritem dat u wilt weergeven.

  6. Klik in het vak Exemplaren van de geselecteerde objectlijst op Alle exemplaren> om op te geven dat u het prestatiemeteritems voor de algemene taalruntime globaal wilt bewaken (dat wil wel< op systeembrede basis).

    – of –

    Klik in het vak Exemplaren van de geselecteerde objectlijst op een toepassingsnaam om het prestatiemeteritem voor die toepassing te bewaken.

    Als u meerdere versies van de runtime wilt onderscheiden of meerdere toepassingen met dezelfde naam wilt onderscheiden, moet u ook een registersleutel wijzigen. Zie Prestatiemeteritems en In-Process Side-By-Side Applications voor meer informatie.

Notitie

Wanneer er nieuwe prestatiemeteritems worden geïnstalleerd terwijl de Prestatieconsole wordt uitgevoerd, stopt u de prestatieconsole en start u deze opnieuw om de nieuwe prestatiemeteritems zichtbaar te maken.

Als u een assembly wilt profileeren die zich in een zone of op een externe share bevindt, moet u ervoor zorgen dat de externe assembly volledig vertrouwen heeft op de computer waarop de prestatiemeteritems worden uitgevoerd. Als de assembly onvoldoende vertrouwen heeft, werken de prestatiemeteritems niet. Zie Caspol.exe (Hulpprogramma voor beveiligingsbeleid voor codetoegang) voor informatie over het verlenen van vertrouwen aan verschillende zones.

Notitie

Op systemen waarop .NET Framework 4 is geïnstalleerd, worden in de prestatiemeter mogelijk geen gegevens weergegeven voor prestatiemeteritems in sommige categorieën, zoals .NET CLR-gegevens en .NET CLR-netwerken, voor toepassingen die zijn ontwikkeld met .NET Framework 1.1. Als dit het geval is, kunt u Performance Monitor configureren om deze gegevens weer te geven door het <element forcePerformanceCounterUniqueSharedMemoryReads> toe te voegen aan het configuratiebestand van de toepassing.

Programmatisch prestatiemeteritems lezen en maken

.NET Framework biedt klassen die u kunt gebruiken om programmatisch toegang te krijgen tot dezelfde prestatiegegevens die beschikbaar zijn in de Prestatieconsole. U kunt deze klassen ook gebruiken om aangepaste prestatiemeteritems te maken. In de volgende tabel worden enkele van de prestatiebewakingsklassen beschreven die zijn opgegeven in .NET Framework.

Klas Beschrijving
System.Diagnostics.PerformanceCounter Vertegenwoordigt een Onderdeel van een Windows-prestatiemeteritem. Gebruik deze klasse om bestaande vooraf gedefinieerde of aangepaste tellers te lezen en prestatiegegevens te publiceren (schrijven) naar aangepaste tellers.
System.Diagnostics.PerformanceCounterCategory Biedt verschillende methoden voor interactie met tellers en categorieën tellers op de computer.
System.Diagnostics.PerformanceCounterInstaller Hiermee geeft u een installatieprogramma voor het PerformanceCounter onderdeel.
System.Diagnostics.PerformanceCounterType Hiermee geeft u de formule voor het berekenen van de NextValue methode voor een PerformanceCounter.

Zie ook