Ein lydfeil og ein VPN-pause fell innanfor dei same ti sekunda, og eit verktøy rapporterer eit høgt tal merkt DPC-latens. Freistinga er å konkludera med at drivaren bremsar tunnelen, eller at tunnelen belastar drivaren. Ingen av dei to konklusjonane følgjer av talet.

Tre målingar er i spel her, og dei deler ikkje same grense.

Tre tal, tre grenser

Eit utsett prosedyrekall er arbeid ein drivar utset frå interrupt-handteraren sin, og tida som blir brukt inne i desse rutinane er ei prosesslokal måling tilskriven modular og funksjonar. Ein ekkorundtur er ei tidsmåling ved socketen, produsert av ein nettverksstakk og ein ekstern svarar. Ei fråkoplinghending er ein tilstandsovergang klienten registrerer. Kvar av dei svarar på eit spørsmål dei andre ikkje kan, og like einingar gjer dei ikkje utskiftbare.

Den nyttige disiplinen er å namngje grensa før du les verdien. Skriv eininga og grensa ved sida av kvarandre. Viss eit verktøy rapporterer millisekund, spør millisekund av kva: tid inne i ein rutine, tid med å venta på å køyra, eller tid til eit svar kom.

Eit høgt tal i éin kategori er eit spor, aldri ein diagnose.

Les definisjonen bak overskrifta

Verktøya er ulike i kva dei kallar latens. Nokre rapporterer varigheita av drivarrutinar, andre rapporterer planleggingsforsinking, og dei to storleikane kan bevega seg i motsette retningar på same maskin. Eit dashbord som kallar ein av dei rett og slett DPC-latens, har fortalt deg mindre enn det ser ut til. Derfor kan to dashbord vera usamde om ei maskin som ikkje har endra seg i det heile.

Same varsemd gjeld inne i eitt enkelt analyseverktøy. Inklusiv varigheit følgjer ein rutine frå inngang til utgang, medan eksklusiv varigheit berre summerer fragmenta der rutinen sjølv køyrde. Å velja feil kolonne gjer ein kallar til ein syndar.

Lokalt drivararbeid og nettverksforsinking samverkar òg utan å smelta saman. Overdriven interruptrelatert aktivitet kan forseinka tidsfølsamt arbeid på maskina, og ein overbelasta veg kan forseinka pakkar, og begge kan vera sanne under ein synleg pause.

Set kvar observasjon i eitt vindauge

Ei sporing er berre nyttig viss du les intervallet som inneheld symptomet. Ta opp sporinga, hendinga til klienten og feilen i applikasjonen med tidsstemplar, og sjå deretter på dei same sekunda i alle tre. Eit maksimum frå ei times sporing og ei fråkopling seinare same ettermiddag er to urelaterte fakta.

wpr -start CPU -filemode
wpr -stop vpn-trace.etl
xperf -i vpn-trace.etl -a dpcisr -o dpc.txt

Opna deretter sporinga i analyseverktøyet og sorter etter varigheit innanfor det vindauget, i staden for etter heile opptaket. rettleiinga for CPU-analyse skildrar DPC/ISR-varigheitsvisinga som tilskriv tid til modular og funksjonar.

Stadfest kva som faktisk skjedde med tunnelen, medan du er der. Å mista applikasjonstrafikk kortvarig tyder ikkje at klienten starta ein ny forhandling, og ein vellukka liten test provar ikkje at alt anna heldt fram med å verka.

Bytt komponenten som prova peikar på

Ein travel modul er ein stad å undersøkja, ikkje ein dom. Han utfører kanskje arbeid forårsaka av ein annan komponent, eller av arbeidsmengda du genererte. Hald modulnamn, eining, drivarversjon og det observerte intervallet saman, for det er dette settet ein leverandør kan handla på.

Éi endring per eksperiment er den einaste måten å læra av resultatet. Ei kabelbasert samanlikning snevrar inn omfanget, men ho endrar radiospora og drivaraktiviteten samstundes, så handsam ho som eit spor, ikkje som prov.

Handsam sporinga som sensitiv. Ho kan innehalda prosessnamn og miljødetaljar, så ho høyrer heime i den støtta opptakskanalen og ikkje i eit offentleg vedlegg. Sei kva observasjon sporinga skulle svara på.

Relaterte artiklar