Dela via


Prestandaräknare i .NET Framework

Den här artikeln innehåller en lista över prestandaräknare som du hittar i Prestandaövervakaren för Windows.

Prestandaräknare för undantag

Kategorin .NET CLR-undantag innehåller räknare som ger information om undantag som genereras av ett program. I följande tabell beskrivs dessa prestandaräknare.

Prestandaräknare beskrivning
# av exceps kastas Visar det totala antalet undantag som har genererats sedan programmet startades. Detta omfattar både .NET-undantag och ohanterade undantag som konverteras till .NET-undantag. Till exempel konverteras en HRESULT som returneras från ohanterad kod till ett undantag i hanterad kod.

Den här räknaren innehåller både hanterade och ohanterade undantag. Undantag som återväxtas räknas igen.
Antal exceps som kastas/sek Visar antalet undantag som utlöses per sekund. Detta omfattar både .NET-undantag och ohanterade undantag som konverteras till .NET-undantag. Till exempel konverteras en HRESULT som returneras från ohanterad kod till ett undantag i hanterad kod.

Den här räknaren innehåller både hanterade och ohanterade undantag. Det är inte ett genomsnitt över tid; Den visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet. Den här räknaren är en indikator på potentiella prestandaproblem om ett stort (>100-tal) antal undantag utlöses.
Antal filter/s Visar antalet .NET-undantagsfilter som körs per sekund. Ett undantagsfilter utvärderas oavsett om ett undantag hanteras.

Den här räknaren är inte ett genomsnitt över tid. Den visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.
Antal äntligen/s Visar antalet slutligen utförda block per sekund. Ett slutligen block kommer garanterat att köras oavsett hur försöksblocket avslutades. Endast de sista block som körs för ett undantag räknas. slutligen räknas inte block på normala kodsökvägar av den här räknaren.

Den här räknaren är inte ett genomsnitt över tid. Den visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.
Kasta för att fånga djup /sek Visar antalet staplar som bläddrades, från ramen som kastade undantaget till den ram som hanterade undantaget, per sekund. Den här räknaren återställs till noll när en undantagshanterare anges, så kapslade undantag visar stackdjupet för hanterare till hanterare.

Den här räknaren är inte ett genomsnitt över tid. Den visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.

Prestandaräknare för interop

Kategorin .NET CLR Interop innehåller räknare som ger information om ett programs interaktion med COM-komponenter, COM+-tjänster och externa typbibliotek. I följande tabell beskrivs dessa prestandaräknare.

Prestandaräknare beskrivning
Antal CCW:ar Visar det aktuella antalet COM-anropsbara omslutningar (CCWs). En CCW är en proxy för ett hanterat objekt som refereras från en ohanterad COM-klient. Den här räknaren anger antalet hanterade objekt som refereras till av ohanterad COM-kod.
# av marshalling Visar det totala antalet gånger argument och returvärden har kopplats från hanterad till ohanterad kod och vice versa sedan programmet startades. Den här räknaren ökas inte om stubs är inlined. (Stubs ansvarar för att samla argument och returnera värden). Stubs är vanligtvis inlined om marshalling overhead är liten.
# av Stubs Visar det aktuella antalet stubs som skapats av den gemensamma språkkörningen. Stubs ansvarar för att samla argument och returnera värden från hanterad till ohanterad kod och vice versa under ett COM-interop-anrop eller ett plattformsanrop.
Antal TLB-exporter/s Reserverad för framtida användning.
Antal TLB-importer/s Reserverad för framtida användning.

JIT-prestandaräknare

. NET CLR JIT-kategorin innehåller räknare som ger information om kod som har JIT-kompilerats. I följande tabell beskrivs dessa prestandaräknare.

Prestandaräknare beskrivning
Antal IL Bytes JITted Visar det totala antalet CIL-byte (Common Intermediate Language) som kompilerats av jit-kompilatorn (just-in-time) sedan programmet startades. Den här räknaren motsvarar räknaren Total # för IL Bytes Jitted .
Antal metoder JITted Visar det totala antalet metoder som JIT-kompilerats sedan programmet startades. Den här räknaren innehåller inte för-JIT-kompilerade metoder.
% tid i Jit Visar procentandelen förfluten tid i JIT-kompilering sedan den senaste JIT-kompileringsfasen. Den här räknaren uppdateras i slutet av varje JIT-kompileringsfas. En JIT-kompileringsfas inträffar när en metod och dess beroenden kompileras.
IL Bytes Jitted/s Visar antalet CIL-byte som är JIT-kompilerade per sekund. Den här räknaren är inte ett genomsnitt över tid. Den visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.
Standard-Jit-fel Visar det högsta antalet metoder som JIT-kompilatorn har misslyckats med att kompilera sedan programmet startade. Det här felet kan inträffa om CIL inte kan verifieras eller om det finns ett internt fel i JIT-kompilatorn.
Totalt antal IL Bytes Jitted Visar det totala antalet JIT-kompilerade CIL-byte sedan programmet startades. Den här räknaren motsvarar antalet IL Bytes Jitted-räknare .

Läsa in prestandaräknare

Kategorin .NET CLR-inläsning innehåller räknare som innehåller information om sammansättningar, klasser och programdomäner som läses in. I följande tabell beskrivs dessa prestandaräknare.

Prestandaräknare beskrivning
% tidsinläsning Reserverad för framtida användning.
Längd på sammansättningssökning Reserverad för framtida användning.
Byte i Loader Heap Visar den aktuella storleken, i byte, på det minne som har checkats in av klassinläsaren i alla programdomäner. Incheckat minne är det fysiska utrymme som är reserverat i diskväxlingsfilen.
Aktuella appdomäner Visar det aktuella antalet programdomäner som lästs in i det här programmet.
Aktuella sammansättningar Visar det aktuella antalet sammansättningar som lästs in över alla programdomäner i det program som körs. Om sammansättningen läses in som domänneutral från flera programdomäner ökas den här räknaren bara en gång.
Aktuella klasser har lästs in Visar det aktuella antalet klasser som lästs in i alla sammansättningar.
Frekvens för appdomäner Visar antalet programdomäner som läses in per sekund. Den här räknaren är inte ett genomsnitt över tid. Den visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.
Frekvens för borttagna appdomäner Visar antalet programdomäner som har inaktiverats per sekund. Den här räknaren är inte ett genomsnitt över tid. Den visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.
Antal sammansättningar Visar antalet sammansättningar som läses in per sekund i alla programdomäner. Om sammansättningen läses in som domänneutral från flera programdomäner ökas den här räknaren bara en gång.

Den här räknaren är inte ett genomsnitt över tid. Den visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.
Frekvens för klasser som lästs in Visar antalet klasser som läses in per sekund i alla sammansättningar. Den här räknaren är inte ett genomsnitt över tid. Den visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.
Hastighet för belastningsfel Visar antalet klasser som inte kunde läsas in per sekund. Den här räknaren är inte ett genomsnitt över tid. Den visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.

Belastningsfel kan inträffa av många orsaker, till exempel otillräcklig säkerhet eller ogiltigt format. Mer information finns i hjälpen om profileringstjänster.
Totalt antal inläsningsfel Visar det högsta antalet klasser som inte har lästs in sedan programmet startades.

Belastningsfel kan inträffa av många orsaker, till exempel otillräcklig säkerhet eller ogiltigt format. Mer information finns i hjälpen om profileringstjänster.
Totalt antal appdomäner Visar det högsta antalet programdomäner som lästs in sedan programmet startades.
Totalt antal borttagna appdomäner Visar det totala antalet programdomäner som har inaktiverats sedan programmet startades. Om en programdomän läses in och tas bort flera gånger ökar räknaren varje gång programdomänen tas bort.
Totalt antal sammansättningar Visar det totala antalet sammansättningar som lästs in sedan programmet startades. Om sammansättningen läses in som domänneutral från flera programdomäner ökas den här räknaren bara en gång.
Totalt antal inlästa klasser Visar det kumulativa antalet klasser som lästs in i alla sammansättningar sedan programmet startades.

Prestandaräknare för lås och tråd

Kategorin .NET CLR LocksAndThreads innehåller räknare som ger information om hanterade lås och trådar som ett program använder. I följande tabell beskrivs dessa prestandaräknare.

Prestandaräknare beskrivning
Antal aktuella logiska trådar Visar antalet aktuella hanterade trådobjekt i programmet. Den här räknaren underhåller antalet både aktiva och stoppade trådar. Den här räknaren är inte ett genomsnitt över tid. den visar endast det senast observerade värdet.
Antal aktuella fysiska trådar Visar antalet interna operativsystemtrådar som skapats och ägs av den vanliga språkkörningen för att fungera som underliggande trådar för hanterade trådobjekt. Den här räknarens värde inkluderar inte de trådar som används av körningen i dess interna åtgärder. det är en delmängd av trådarna i operativsystemet.
Antal aktuella identifierade trådar Visar antalet trådar som för närvarande identifieras av körningen. Dessa trådar är associerade med ett motsvarande hanterat trådobjekt. Körningen skapar inte dessa trådar, men de har körts i körningen minst en gång.

Endast unika trådar spåras. trådar med samma tråd-ID som återaktiveras i körningen eller återskapas efter att trådavsluten inte räknas två gånger.
Antal identifierade trådar Visar det totala antalet trådar som har identifierats av körningen sedan programmet startades. Dessa trådar är associerade med ett motsvarande hanterat trådobjekt. Körningen skapar inte dessa trådar, men de har körts i körningen minst en gång.

Endast unika trådar spåras. trådar med samma tråd-ID som återaktiveras i körningen eller återskapas efter att trådavsluten inte räknas två gånger.
Konkurrensfrekvens/s Visar den hastighet med vilken trådar i körningen försöker hämta ett hanterat lås utan framgång.
Aktuell kölängd Visar det totala antalet trådar som för närvarande väntar på att hämta ett hanterat lås i programmet. Den här räknaren är inte ett genomsnitt över tid. den visar det senast observerade värdet.
Kölängd/s Visar antalet trådar per sekund som väntar på att hämta ett lås i programmet. Den här räknaren är inte ett genomsnitt över tid. Den visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.
Högsta kölängd Visar det totala antalet trådar som väntade på att hämta ett hanterat lås sedan programmet startades.
hastighet för identifierade trådar/sek Visar antalet trådar per sekund som har identifierats av körningen. Dessa trådar är associerade med ett motsvarande hanterat trådobjekt. Körningen skapar inte dessa trådar, men de har körts i körningen minst en gång.

Endast unika trådar spåras. trådar med samma tråd-ID som återaktiveras i körningen eller återskapas efter att trådavsluten inte räknas två gånger.

Den här räknaren är inte ett genomsnitt över tid. Den visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.
Totalt antal konkurrens Visar det totala antalet gånger som trådar i körningen har försökt hämta ett hanterat lås utan framgång.

Minnesprestandaräknare

Kategorin .NET CLR Memory innehåller räknare som ger information om skräpinsamlaren. I följande tabell beskrivs dessa prestandaräknare.

Prestandaräknare beskrivning
# Byte i alla heaps Visar summan av räknarna Gen 1 Heap Size, Gen 2 Heap Size och Large Object Heap Size . Den här räknaren anger det aktuella minne som allokerats i byte på skräpinsamlingshögarna.
# GC-handtag Visar det aktuella antalet skräpinsamlingshandtag som används. Skräpinsamlingshandtag är referenser till resurser utanför den gemensamma språkkörningen och den hanterade miljön.
# Gen 0 Samlingar Visar hur många gånger som generation 0-objekten (dvs. de yngsta, senast allokerade objekten) är skräp som samlats in sedan programmet startades.

Skräpinsamling av generation 0 inträffar när det tillgängliga minnet i generation 0 inte räcker för att uppfylla en allokeringsbegäran. Den här räknaren ökas i slutet av en skräpinsamling av generation 0. Skräpsamlingar med högre generation omfattar alla samlingar med lägre generation. Den här räknaren ökas uttryckligen när en högre generation (generation 1 eller 2) skräpinsamling inträffar.

Den här räknaren visar det senast observerade värdet. Räknarvärdet _Global_ är inte korrekt och bör ignoreras.
# Gen 1 Samlingar Visar antalet gånger som generation 1-objekten är skräp som samlats in sedan programmet startades.

Räknaren ökas i slutet av en skräpinsamling av generation 1. Skräpsamlingar med högre generation omfattar alla samlingar med lägre generation. Den här räknaren ökas uttryckligen när en skräpinsamling av högre generation (generation 2) inträffar.

Den här räknaren visar det senast observerade värdet. Räknarvärdet _Global_ är inte korrekt och bör ignoreras.
# Gen 2-samlingar Visar antalet gånger som generation 2-objekten är skräp som samlats in sedan programmet startades. Räknaren ökas i slutet av en skräpinsamling av generation 2 (kallas även för en fullständig skräpinsamling).

Den här räknaren visar det senast observerade värdet. Räknarvärdet _Global_ är inte korrekt och bör ignoreras.
# Inducerad GC Visar det högsta antalet gånger skräpinsamlingen utfördes på grund av ett explicit anrop till GC.Collect. Det är bra att låta skräpinsamlaren justera frekvensen för sina samlingar.
Antal fästa objekt Visar antalet fästa objekt som påträffades i den senaste skräpinsamlingen. Ett fäst objekt är ett objekt som skräpinsamlaren inte kan flytta i minnet. Den här räknaren spårar endast fästa objekt i de högar som samlas in av skräp. Till exempel orsakar en skräpinsamling av generation 0 uppräkning av fästa objekt endast i heapen generation 0.
Antal mottagarblock som används Visar det aktuella antalet synkroniseringsblock som används. Synkroniseringsblock är datastrukturer per objekt som allokerats för lagring av synkroniseringsinformation. De innehåller svaga referenser till hanterade objekt och måste genomsökas av skräpinsamlaren. Synkroniseringsblock är inte begränsade till lagring av synkroniseringsinformation. de kan också lagra COM-interopmetadata. Den här räknaren anger prestandaproblem med tung användning av synkroniseringsprimitiver.
# Totalt antal incheckade byte Visar mängden virtuellt minne i byte som för närvarande har checkats in av skräpinsamlaren. Incheckat minne är det fysiska minne för vilket utrymme har reserverats i diskväxlingsfilen.
# Totalt antal reserverade byte Visar mängden virtuellt minne i byte som för närvarande är reserverat av skräpinsamlaren. Reserverat minne är det virtuella minnesutrymme som reserverats för programmet när inga disk- eller huvudminnessidor har använts.
% tid i GC Visar procentandelen förfluten tid som har lagts på att utföra en skräpinsamling sedan den senaste skräpinsamlingscykeln. Den här räknaren anger vanligtvis det arbete som utförs av skräpinsamlaren för att samla in och komprimera minne för programmets räkning. Den här räknaren uppdateras endast i slutet av varje skräpinsamling. Den här räknaren är inte ett genomsnitt. dess värde återspeglar det senast observerade värdet.
Allokerade byte/sekund Visar antalet byte per sekund som allokerats på skräpinsamlingshögen. Den här räknaren uppdateras i slutet av varje skräpinsamling, inte vid varje allokering. Den här räknaren är inte ett genomsnitt över tid. Den visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.
Slutför överlevande Visar antalet skräpinsamlingsobjekt som överlever en samling eftersom de väntar på att slutföras. Om dessa objekt innehåller referenser till andra objekt överlever även dessa objekt men räknas inte av den här räknaren. Räknaren Promoted Finalization-Memory from Gen 0 representerar allt minne som överlevde på grund av slutförande.

Den här räknaren är inte kumulativ. den uppdateras i slutet av varje skräpinsamling med antalet överlevande endast under den aktuella samlingen. Den här räknaren anger de extra kostnader som programmet kan medföra på grund av slutförande.
Gen 0 heapstorlek Visar maximalt antal byte som kan allokeras i generation 0. det anger inte det aktuella antalet byte som allokerats i generation 0.

En skräpinsamling av generation 0 inträffar när allokeringarna sedan den senaste samlingen överskrider den här storleken. Storleken på generation 0 justeras av skräpinsamlaren och kan ändras under körningen av programmet. I slutet av en generation 0-samling är storleken på heapen för generation 0 0 byte. Den här räknaren visar storleken i byte på allokeringar som anropar nästa generation 0 skräpinsamling.

Den här räknaren uppdateras i slutet av en skräpinsamling, inte vid varje allokering.
Gen 0 Upphöjda byte/s Visar byte per sekund som höjs upp från generation 0 till generation 1. Minnet höjs upp när det överlever en skräpinsamling. Den här räknaren är en indikator på att relativt långlivade objekt skapas per sekund.

Den här räknaren visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.
Gen 1 heap storlek Visar det aktuella antalet byte i generation 1. den här räknaren visar inte den maximala storleken på generation 1. Objekt allokeras inte direkt i den här generationen. de befordras från tidigare generation 0 skräpsamlingar. Den här räknaren uppdateras i slutet av en skräpinsamling, inte vid varje allokering.
Gen 1 Upphöjda byte/s Visar byte per sekund som höjs från generation 1 till generation 2. Objekt som befordras bara för att de väntar på att slutföras ingår inte i den här räknaren.

Minnet höjs upp när det överlever en skräpinsamling. Ingenting främjas från generation 2 eftersom det är den äldsta generationen. Den här räknaren är en indikator på att mycket långlivade objekt skapas per sekund.

Den här räknaren visar skillnaden mellan de värden som observerats i de två senaste exemplen dividerat med urvalsintervallets varaktighet.
Gen 2-heapstorlek Visar det aktuella antalet byte i generation 2. Objekt allokeras inte direkt i den här generationen. de befordras från generation 1 under tidigare generation 1 skräpsamlingar. Den här räknaren uppdateras i slutet av en skräpinsamling, inte vid varje allokering.
Storlek på stor objekthög Visar den aktuella storleken, i byte, på den stora objekthögen. Objekt som är större än cirka 85 000 byte behandlas som stora objekt av skräpinsamlaren och allokeras direkt i en speciell heap. De främjas inte genom generationerna. Den här räknaren uppdateras i slutet av en skräpinsamling, inte vid varje allokering.
Process-ID Visar process-ID för DEN CLR-processinstans som övervakas.
Uppflyttat finaliseringsminne från gen 0 Visar byte av minne som höjs upp från generation 0 till generation 1 bara för att de väntar på att slutföras. Den här räknaren är inte kumulativ. det visar värdet som observerades i slutet av den senaste skräpinsamlingen.
Uppflyttat minne från Gen 0 Visar byte av minne som överlever skräpinsamling och höjs upp från generation 0 till generation 1. Objekt som befordras bara för att de väntar på att slutföras ingår inte i den här räknaren. Den här räknaren är inte kumulativ. det visar värdet som observerades i slutet av den senaste skräpinsamlingen.
Uppflyttat minne från Gen 1 Visar byte av minne som överlever skräpinsamling och höjs upp från generation 1 till generation 2. Objekt som befordras bara för att de väntar på att slutföras ingår inte i den här räknaren. Den här räknaren är inte kumulativ. det visar värdet som observerades i slutet av den senaste skräpinsamlingen. Den här räknaren återställs till 0 om den senaste skräpinsamlingen endast var en samling av generation 0.

Prestandaräknare för nätverk

Kategorin .NET CLR-nätverk innehåller räknare som ger information om data som ett program skickar och tar emot via nätverket. I följande tabell beskrivs dessa prestandaräknare.

Prestandaräknare beskrivning
Mottagna byte Det kumulativa totala antalet byte som tagits emot av alla Socket objekt inom AppDomain sedan processen startade. Det här talet innehåller data och protokollinformation som inte definieras av TCP/IP.
Skickade byte Det kumulativa antalet byte som skickats av alla Socket objekt inom AppDomain sedan processen startade. Det här talet innehåller data och protokollinformation som inte definieras av TCP/IP.
Anslut har upprättats Det kumulativa totala antalet Socket objekt för ström sockets som någonsin varit anslutna AppDomain inom sedan processen startades.
Mottagna datagram Det kumulativa totala antalet datagrampaket som tagits emot av alla Socket objekt inom AppDomain sedan processen startades.
Skickade datagram Det kumulativa totala antalet datagrampaket som skickats av alla Socket objekt inom AppDomain sedan processen startades.
Genomsnittlig livslängd för HttpWebRequests Den genomsnittliga tiden till slutförande för alla HttpWebRequest objekt som slutade i det sista intervallet inom AppDomain sedan processen startade.
Genomsnittlig kötid för HttpWebRequests Den genomsnittliga tiden i kön för alla HttpWebRequest objekt som lämnade kön i det sista intervallet inom AppDomain sedan processen startade.
HttpWebRequests Skapad/s Antalet HttpWebRequest objekt som skapas per sekund i AppDomain.
HttpWebRequests i kö per sekund Antalet HttpWebRequest objekt som lades till i kön per sekund i AppDomain.
HttpWebRequests avbröts per sekund Antalet HttpWebRequest objekt där programmet anropade Abort metoden per sekund i AppDomain.
HttpWebRequests misslyckades per sekund Antalet HttpWebRequest objekt som tog emot en misslyckad statuskod från servern per sekund i AppDomain.

Det finns flera klasser av nätverksprestandaräknare som stöds:

  • Händelseräknare som mäter antalet gånger som en händelse inträffade.
  • Dataräknare som mäter mängden data som skickas eller tas emot.
  • Varaktighetsräknare som mäter hur lång tid olika processer tar. Tiderna mäts på objekten varje intervall (vanligtvis i sekunder) efter att de har kommit ut ur olika tillstånd.
  • Per intervallräknare som mäter antalet objekt som gör en viss övergång per intervall (normalt per sekund).

Nätverksprestandaräknarna för händelser omfattar följande:

  • Anslut har upprättats
  • Mottagna datagram
  • Skickade datagram

Dessa prestandaräknare ger antal sedan processen startades. Antalet Socket anslutningar som upprättats inkluderar explicita Socket metodanrop av ett program för en anslutning till en stream socket som upprättades samt interna anrop som gjorts av andra klasser (HttpWebRequest, FtpWebRequest, WebClientoch TcpClient, till exempel) till Socket klassen

Antalet mottagna datagram och datagram som skickas innehåller datagrampaket som skickas eller tas emot med explicita Socket metodanrop av ett program samt interna anrop som görs av andra klasser (UdpClienttill exempel) till Socket. Klass. Antalet mottagna datagram och datagram som skickats kan också användas för att ge ett mycket grovt mått på hur många byte som skickades eller togs emot med hjälp av datagram genom att anta en genomsnittlig storlek för ett datagram.

Nätverksprestandaräknarna för data innehåller följande:

  • Mottagna byte
  • Skickade byte

Ovanstående räknare anger antal byte sedan processen startades.

Det finns två varaktighetsräknare som mäter hur lång tid det tog för HttpWebRequest objekt att passera antingen hela livscykeln eller bara en del av den:

  • Genomsnittlig livslängd för HttpWebRequests
  • Genomsnittlig kötid för HttpWebRequests

För räknaren Genomsnittlig livslängd för HttpWebRequests börjar livslängden för de flesta HttpWebRequest objekt alltid med tiden då objektet skapas fram till den tid då svarsströmmen stängs av programmet. Det finns två ovanliga fall:

  • Om programmet aldrig anropar GetResponse metoderna eller BeginGetResponse ignoreras objektets HttpWebRequest livslängd.

  • Om objektet HttpWebRequest genererar en WebException när du anropar GetResponse metoderna eller EndGetResponse upphör livslängden när undantaget utlöses. Tekniskt sett stängs även den underliggande svarsströmmen vid den tidpunkten (svarsströmmen som returneras till användaren är egentligen en minnesström som innehåller en kopia av svarsströmmen).

Det finns fyra räknare som spårar vissa HttpWebRequest objektproblem per intervall. Dessa prestandaräknare kan hjälpa programutvecklare, administratörer och supportpersonal att bättre förstå vad objekten HttpWebRequest gör. Räknarna innehåller följande:

  • HttpWebRequests Skapad/s
  • HttpWebRequests i kö per sekund
  • HttpWebRequests avbröts per sekund
  • HttpWebRequests misslyckades per sekund

För räknaren HttpWebRequests Aborted/sec räknas även interna anrop till Abort . Dessa interna anrop orsakas vanligtvis av timeouter som ett program kanske vill mäta.

Räknaren HttpWebRequests Failed/sec innehåller antalet HttpWebRequest objekt som tog emot en misslyckad statuskod från servern per sekund. Det innebär att statuskoden som togs emot från Http-servern i slutet av begäran inte fanns i intervallet mellan 200 och 299. Statuskoder som hanteras och resulterar i en ny begäran (många av 401 Unauthorized status codes, till exempel) misslyckas eller misslyckas inte baserat på resultatet av återförsöket. Om programmet skulle se ett fel baserat på återförsöket ökas den här räknaren.

Nätverksprestandaräknare kan nås och hanteras med hjälp av de PerformanceCounter och relaterade klasserna i System.Diagnostics namnområdet. Nätverksprestandaräknare kan också visas med Windows-prestandaövervakarens konsol.

Nätverksprestandaräknare måste vara aktiverade i konfigurationsfilen som ska användas. Alla nätverksprestandaräknare är aktiverade eller inaktiverade med en enda inställning i konfigurationsfilen. Det går inte att aktivera eller inaktivera enskilda nätverksprestandaräknare. Mer information finns i <performanceCounter> Element (Network Inställningar).

Om nätverksräknare är aktiverade skapar och uppdaterar detta både prestandaräknare per AppDomain och globalt. Om det är inaktiverat kommer programmet inte att tillhandahålla några data för nätverksprestandaräknare.

Prestandaräknare grupperas i kategorier. Följande kod visar alla kategorier:

PerformanceCounterCategory[] Array = PerformanceCounterCategory.GetCategories();
for (int i = 0; i < Array.Length; i++)
{
    Console.Out.WriteLine("{0}. Name={1} Help={2}", i, Array[i].CategoryName, Array[i].CategoryHelp);
}

Nätverksprestandaräknarna visas i två kategorier:

  • ".NET CLR Networking" – de ursprungliga prestandaräknarna som introducerades på .NET Framework Version 2 och som stöds på .NET Framework version 2 och senare.

  • ".NET CLR Networking 4.0.0.0" – Alla ovanstående socketräknare plus de nya prestandaräknare som stöds i .NET Framework version 4 och senare. Dessa nya räknare ger prestandainformation om HttpWebRequest objekt.

Mer information om hur du kommer åt och hanterar prestandaräknare i ett program finns i Prestandaräknare.

Räknare för säkerhetsprestanda

Kategorin .NET CLR Security innehåller räknare som ger information om de säkerhetskontroller som den vanliga språkkörningen utför för ett program. I följande tabell beskrivs dessa prestandaräknare.

Prestandaräknare beskrivning
# Länktidskontroller Visar det totala antalet säkerhetskontroller för länktidskodåtkomst sedan programmet startades. Säkerhetskontroller för åtkomst till länktidskod utförs när en anropare kräver en viss behörighet vid jit-kompileringstid (just-in-time). En länktidskontroll utförs en gång per anropare. Det här antalet är inte ett tecken på allvarliga prestandaproblem. Det är bara ett tecken på säkerhetssystemaktiviteten.
% tid i RT-kontroller Visar procentandelen förfluten tid som använts för att utföra säkerhetskontroller för körningskodåtkomst sedan det senaste exemplet. Den här räknaren uppdateras i slutet av en .NET Framework-säkerhetskontroll. Det är inte ett genomsnitt; det representerar det senast observerade värdet.
% Time Sig-autentisering Reserverad för framtida användning.
Stapelvandringsdjup Visar djupet i stacken under den senaste körningskodens åtkomstsäkerhetskontroll. Säkerhetskontroller för körningskodåtkomst utförs genom att gå i stacken. Den här räknaren är inte ett genomsnitt. den visar endast det senast observerade värdet.
Totalt antal körningskontroller Visar det totala antalet säkerhetskontroller för körningskodåtkomst som utförts sedan programmet startades. Säkerhetskontroller för körningskodåtkomst utförs när en anropare kräver en viss behörighet. Körningskontrollen görs på varje anrop av anroparen och undersöker den aktuella trådstacken för anroparen. När den används med Stack Walk Depth-räknaren anger den här räknaren prestandastraffet som inträffar för säkerhetskontroller.

Se även