Key Performance Monitor Counters


Performance Monitoring er et komplekst tema, og på noen måter mer av en kunst enn en vitenskap. Det kan være skremmende å bli konfrontert med et utvalg av over tusen ytelse tellere å velge mellom. Hvilke som er viktig å følge med på en jevnlig basis og hvilke som kan i stor grad ignorert? Mye avhenger av hvilken rolle systemet du vil overvåke, og om du snakker om kapasitetsplanlegging, som sikrer tilgjengelighet, skalering oppover, overvåking for mulige problemer, eller løser problemer som har oppstått. Mens den vanlige fremgangsmåten for hvordan du bruker Ytelse konsollen har vært dekket tidligere på WindowsNetworking i Andrew Tabona artikkel Windows 2003 Performance Monitor, jeg tenkte at det kunne være nyttig å liste noen viktige tellere som administratorer kan være lurt å overvåke så langt som generell server helse er bekymret. Så her er noen av mine topp anbefalte perfmon tellere i ingen spesiell rekkefølge og organisert rundt fem spørsmål du kan stille deg selv om helsen til dine maskiner.

Er din Server tilgjengelig?

Tilgjengelighet betyr at systemet eller programmet er oppe og går, og en måte å bestemme tilgjengeligheten av systemet er å vise System \\ System Up Tid
telleren, som forteller deg hvor mange sekunder det er siden serveren din siste restartet. Den enkleste måten å se denne telleren er i rapporten visning, som viser den faktiske numeriske verdien av telleren i forløpt sekunder. En bedre måte er imidlertid å skape en forestilling teller log og spore denne telleren i bakgrunnen slik at du kan vurdere det med jevne mellomrom når du trenger å generere månedsslutt rapporten.

Hvis du ønsker å bore ned enda mer om, kan du overvåke oppetid for enhver prosess som kjører på maskinen ved hjelp av Process (eksempel) \\ medgått tid
telleren, som forteller deg hvor lang tid det Særlig prosessen har vært aktiv på din maskin. For eksempel Process (Winlogon) \\ medgått tid
vil fortelle meg hvor lenge det er siden Winlogon prosessen startet kjører på min maskin, og dette bør normalt være noen få sekunder mindre enn System \\ System Up Tid
siden Winlogon begynner å kjøre under oppstartsprosessen. Du kan selvfølgelig bruke Process (eksempel) \\ medgått tid
teller å også overvåke prosesser knyttet til bestemte programmer og tjenester for å overvåke tilgjengeligheten av disse applikasjoner og tjenester. Vær forsiktig men som noen tjenester er utformet for å starte og stoppe under visse vilkår, mens andre tjenester er forankret i tjenesten verts prosesser (svchost.exe) og du må først identifisere hvilke vertsprosessen inneholder den tjenesten du ønsker å overvåke.

Hvordan Busy er det?

En server som er for opptatt kan være ute av stand til å tilfredsstillende svare på klientforespørsler. Som oversetter til misfornøyde brukere og la oss innse det, en viktig del av jobben din som administrator er å sikre en tilfredsstillende "erfaring" for sluttbrukerne du støtter. Den enkleste mål på et system travelhet er Prosessor (_Total) \\% Processor Tid
, som måler den totale utnyttelsen av prosessoren av alle prosesser som kjører. Merk at hvis du har en multimaskin, etter Prosessor (_Total) \\% Processor Tid faktisk måler den gjennomsnittlige prosessor utnyttelse av maskinen (dvs. utnyttelse midlet over alle prosessorer).

Hvis du overvåker denne disken og den kjører på eller nær 100% i lengre perioder, bør du bore ned på prosessnivå ved å undersøke Process (eksempel) \\% Processor Tid
teller for ulike prosessforekomster på din maskin. For eksempel på en IIS webserver kan du spore Process (inetinfo) \\% Processor Time, mens på en Exchange-server en god teller å se er Process (store) \\% Processor Tid Hotell og så videre. Høy prosessorutnyttelsen er ikke alltid et tegn på et problem likevel. For eksempel når en backup jobb er i gang det er typisk for prosessorutnyttelse å treffe høye nivåer for varigheten av backup, spesielt hvis backup program krypterer eller komprimere informasjon før du skriver det å tape. Faktisk, hvis serveren kjører vanligvis på rundt 70% eller 80% prosessorutnyttelsen så dette er normalt et godt tegn og betyr maskinen håndterer sin last effektivt og ikke under utnyttes. Gjennomsnittlig prosessor utnyttelse av rundt 20% eller 30% på den andre siden tyder maskinen din er under utnyttet og kan være en god kandidat for serverkonsolidering ved hjelp av Virtual Server eller VMWare.

En annen ting du kan gjøre for å undersøke høy prosessorutnyttelse er å bryte det ned i Prosessor (_Total) \\% Privilegert Tid Hotell og Prosessor (_Total) \\% Bruker Time
, som viser henholdsvis prosessor utnyttelse for kernel- og brukermodus prosesser på maskinen din. Hvis kernel mode utnyttelsen er høy, er maskinen sannsynlig underpowered som det er for opptatt håndtering basis OS rengjøring funksjoner for å kunne effektivt kjøre andre programmer. Og hvis brukermodus utnyttelse er høy, kan det være du har din server kjører for mange spesifikke roller og du bør enten biff hardware opp ved å legge til en annen prosessor eller overføre et program eller en rolle til en annen boks.

Hvis maskinen kjører flere programmer eller håndterer flere server roller i nettverket, er en annen måte å måle opptatt-somhet å måle prosessor påstand, som er en indikasjon på hvordan ulike gjenger kjemper om oppmerksomheten til den prosessorer på maskinen din. Hvis for mange tråder kjemper om bruk av samme prosessor, får forespørsler fra disse trådene i kø, og ser på System \\ Prosessor Queue Length
telleren gir en indikasjon på hvor mange tråder venter på henrettelse. Hvis denne telleren er gjennomgående høyere enn rundt 5 når prosessorutnyttelsen nærmer seg 100%, så dette er en god indikasjon på at det er mer arbeid (diskusjoner) tilgjengelig (klar for kjøring) enn maskinens prosessorer er i stand til å håndtere. Merk at dette ikke alltid er en hard og rask indikator men for enkelte tjenester som IIS 6 pool og administrere sine egne arbeideren tråder, så på en travel webserver for eksempel du ønsker å se på andre skranker som ASP \\ Forespørsler I kø
eller ASP.NET \\ Requests kø
også. Videre større antall aktive tjenester og programmer som kjører på serveren din, travlere prosessoren køen vil normalt være, så på en multi-rolle server som kjører nær 100% utnyttelse innhold kan bare være en betydelig faktor når System \\ Prosessor Queue Length
stiger noe sånt som 10 i stedet for 5 som nevnt tidligere.

Er Hardware fungerer som den skal?

Det er et par perfmon tellere du kan spore til å overvåke etter tegn på at din maskinens hardware-enheter fungerer som de skal. En av disse er System \\ Context Brytere /sek
, som måler hvor ofte prosessoren har å bytte fra bruker til kernel-modus for å håndtere en forespørsel fra en rød tråd i brukermodus. Jo tyngre arbeidsmengden som kjører på maskinen din, jo høyere denne telleren vil generelt være, men over lang sikt verdien av denne telleren bør holde seg noenlunde konstant. Hvis denne telleren plutselig begynner å øke kan det imidlertid være en indikasjon av en defekt enhet, spesielt hvis du ser en tilsvarende hopp i Prosessor (_Total) \\ Avbryter /sek
disken på din maskin. Du kan også være lurt å sjekke Prosessor (_Total) \\% Privilegert Tid Counter og se om dette telleren viser en lignende uforklarlig økning, da dette kan tyde på problemer med en enhetsdriver som forårsaker en ekstra hit på kernel mode prosessorutnyttelse. I dette tilfellet kan du bore ned og kanskje finne den skyldige ved å undersøke Process (eksempel) \\% Processor Tid counter for hver prosess forekomster som kjører på maskinen din. Dette vil ikke direkte fortelle deg hvilken driver benytter prosessor tid, men det kan tyde på noe som kaller søknaden er indirekte årsak til problemet og kan hjelpe deg med å løse problemet ytterligere.

Hvis Prosessor (_Total) \\ Avbryter /sek
ikke korrelerer godt med System \\ Context Brytere /sek
derimot, kan plutselig hoppe i sammenheng brytere i stedet bety at søknaden er å treffe sin skalerbarhet grense på din maskin, og du kan trenge å skalere ut søknaden din (for eksempel ved clustering) eller muligens redesign hvordan den håndterer brukermodus forespørsler. I alle fall er det en god idé å overvåke System \\ Context Brytere /sek
over en periode for å etablere en basis for denne disken, og når du har gjort dette og deretter opprette en perfmon varsel som vil utløse Når denne telleren avviker vesentlig fra den observerte middelverdi.

Fikk Nok RAM?

Minne \\ Sider /sec
teller indikerer antall øker operasjoner til disk i løpet av måleintervallet, og dette er den primære disken for å se for angivelse av mulig utilstrekkelig RAM for å møte serverens behov. En god idé er å konfigurere en perfmon varsling som utløser når antall sider per sekund stiger 50 per paging disk på systemet. En annen nøkkelen mot å se på her er Minne \\ Tilgjengelig Bytes
, og hvis denne telleren er større enn 10% av den faktiske RAM i maskinen din så har du sannsynligvis mer enn nok RAM og ikke trenger å bekymre deg.

Du bør gjøre to ting med Minne \\ Tilgjengelige Bytes
teller: å skape en forestilling Loggen for denne disken og overvåke det regelmessig for å se om noen nedadgående trend utvikler, og satt et varsel til trigger dersom den faller under 2% av den installerte RAM. Hvis en nedadgående trend gjør utvikle seg, kan du overvåke Process (eksempel) \\ Working Set
for hver prosess eksempel for å finne ut hvilken prosess er tidkrevende større og større mengder RAM. Process (eksempel) \\ Working Set
måler størrelsen på arbeidsfilene for hver prosess, som angir antall tildelte sider prosessen kan ta opp uten å generere en sidefeil. Et beslektet telleren er Minne \\ Cache Bytes, etter som måler arbeidsfilene for systemet dvs. antall tildelte sider kjernetråder kan løse uten å generere en sidefeil.

Til slutt, er en annen bekreftende indikator på utilstrekkelig RAM Minne \\ Overgangs Feil /sek
, som måler hvor ofte nylig trimmet side på ventelisten er re-referert. Hvis denne telleren sakte begynner å stige over tid så det kan også indikere du når et punkt hvor du ikke lenger har nok RAM for serveren din til å fungere godt.

Disks fort nok?

Til slutt, la oss se på et par indikatorer på velfungerende hardt disker i systemet. Se Fysisk Disk (eksempel) \\ Disk Overganger /sek counter for hver fysisk disk, og hvis det går over 25 disk I /O per sekund så har du dårlig responstid for disken. En flaskehals fra en disk kan ha betydelig innvirkning responstid for applikasjoner som kjører på systemet ditt, så du bør undersøke dette nærmere ved å spore Fysisk
Disk (eksempel) \\% Idle Time
, som måler prosent tiden at harddisken er i bruk i løpet av måleperioden, og hvis du ser denne disken er lavere enn 20% så har du sannsynligvis fått lese /skrive forespørsler kø for din disk som ikke er i stand til å betjene disse forespørslene i tide. I dette tilfellet er det på tide å oppgradere maskinvaren til å bruke raskere disker eller skalere ut søknaden din til bedre håndtere belastningen.