Hoge DPC-latentie betekent geen langzaam VPN-pad
Drivertijd, echoretours en sessiegebeurtenissen krijgen de schuld van elkaar. Lees wat elke teller meet voordat u een component vervangt.
Een audiostoring en een VPN-pauze vallen in dezelfde tien seconden, en een hulpprogramma meldt een hoog getal met het label DPC-latentie. De verleiding is te concluderen dat de driver de tunnel vertraagt, of dat de tunnel de driver belast. Geen van beide conclusies volgt uit dat getal.
Er zijn hier drie metingen in het spel, en ze delen niet dezelfde grens.
Drie getallen, drie grenzen
Een uitgestelde procedureaanroep is werk dat een driver uit zijn interrupt-handler uitstelt, en de tijd die in die routines wordt doorgebracht is een processorlokale meting die aan modules en functies wordt toegeschreven. Een echoretour is een tijdwaarneming bij de socket, geproduceerd door een netwerkstack en een externe beantwoorder. Een verbindingsverliesgebeurtenis is een toestandsovergang die de client vastlegt. Elk beantwoordt een vraag die de andere niet kunnen, en gelijke eenheden maken ze niet uitwisselbaar.
De nuttige discipline is de grens te benoemen voordat u de waarde leest. Schrijf de eenheid en de grens naast elkaar. Als een hulpmiddel milliseconden meldt, vraag dan milliseconden waarvoor: tijd in een routine, tijd wachtend om te draaien, of tijd tot een antwoord aankwam.
Een hoog getal in één categorie is een aanwijzing, nooit een diagnose.
Lees de definitie achter de kop
Hulpprogramma's verschillen in wat ze latentie noemen. Sommige melden de duur van driverroutines, andere melden planningsvertraging, en de twee grootheden kunnen zich op dezelfde machine in tegengestelde richtingen bewegen. Een dashboard dat een van beide simpelweg DPC-latentie noemt, heeft u minder verteld dan het lijkt. Twee dashboards kunnen het daarom oneens zijn over een machine die helemaal niet is veranderd.
Dezelfde voorzichtigheid geldt binnen één analysehulp. Inclusieve duur volgt een routine van binnenkomst tot vertrek, terwijl exclusieve duur alleen de fragmenten optelt waarin die routine zelf uitvoerde. De verkeerde kolom kiezen maakt van een aanroeper een schuldige.
Lokaal driverwerk en netwerkvertraging werken ook op elkaar in zonder samen te smelten. Overmatige interruptgerelateerde activiteit kan tijdsgevoelig werk op de machine vertragen, en een overbelast pad kan pakketten vertragen, en beide kunnen waar zijn tijdens één zichtbare pauze.
Zet elke waarneming in één venster
Een trace is alleen nuttig als u het interval leest dat het symptoom bevat. Leg de trace, de gebeurtenis van de client en de fout van de toepassing met tijdstempels vast, en kijk dan naar dezelfde seconden in alle drie. Een maximum uit een trace van een uur en een verbindingsverlies later die middag zijn twee ongerelateerde feiten.
wpr -start CPU -filemode
wpr -stop vpn-trace.etl
xperf -i vpn-trace.etl -a dpcisr -o dpc.txt
Open de trace vervolgens in het analysehulpmiddel en sorteer op duur binnen dat venster, in plaats van op de hele opname. De richtlijnen voor CPU-analyse beschrijft de DPC/ISR-duurweergave die tijd aan modules en functies toeschrijft.
Bevestig wat er werkelijk met de tunnel is gebeurd terwijl u daar bent. Kort toepassingsverkeer verliezen betekent niet dat de client een nieuwe onderhandeling begon, en een geslaagde kleine test bewijst niet dat al het andere bleef werken.
Vervang het onderdeel dat het bewijs aanwijst
Een bezige module is een plaats om te onderzoeken, geen vonnis. Hij verricht misschien werk dat door een andere component of door de door u gegenereerde belasting wordt veroorzaakt. Houd de modulenaam, het apparaat, de driverversie en het waargenomen interval bij elkaar, want die set is waar een leverancier op kan handelen.
Eén wijziging per experiment is de enige manier om van het resultaat te leren. Een bekabelde vergelijking vernauwt de scope, maar verandert tegelijk het radiopad en de driveractiviteit, dus behandel het als een aanwijzing en niet als bewijs.
Behandel de trace als gevoelig. Hij kan procesnamen en omgevingsdetails bevatten, dus hij hoort thuis in het ondersteunde opnamekanaal en niet in een openbare bijlage. Vermeld bij welke waarneming de trace antwoord moest geven.