Korkea DPC-viive ei tarkoita hidasta VPN-polkua
Ajurin aika, kaiun edestakaiset matkat ja istuntotapahtumat saavat syyttää toisiaan. Lue, mitä kukin laskuri mittaa, ennen kuin vaihdat komponentin.
Äänihäiriö ja VPN-tauko osuvat samoihin kymmeneen sekuntiin, ja apuohjelma ilmoittaa korkean luvun, joka on merkitty DPC-viiveeksi. Houkutus on päätellä, että ajuri hidastaa tunnelia tai että tunneli rasittaa ajuria. Kumpikaan johtopäätös ei seuraa tuosta luvusta.
Tässä on pelissä kolme mittausta, eivätkä ne jaa samaa rajaa.
Kolme lukua, kolme rajaa
Lykätty proseduurikutsu on työtä, jonka ajuri lykkää keskeytyskäsittelijästään, ja näiden rutiinien sisällä vietetty aika on prosessorikohtainen mittaus, joka kohdistetaan moduuleihin ja funktioihin. Kaiun edestakainen matka on ajoitushavainto pistokkeessa, jonka tuottavat verkkopino ja etäinen vastaaja. Yhteyden katkeamistapahtuma on asiakkaan tallentama tilasiirtymä. Kukin vastaa kysymykseen, johon muut eivät pysty, eivätkä samat yksiköt tee niistä vaihtokelpoisia.
Hyödyllinen kurinalaisuus on nimetä raja ennen arvon lukemista. Kirjoita yksikkö ja raja vierekkäin. Jos työkalu ilmoittaa millisekunteja, kysy millisekunteja mistä: aikaa rutiinin sisällä, odotusaikaa suoritukseen vai aikaa vastauksen saapumiseen.
Korkea luku yhdessä luokassa on johtolanka, ei koskaan diagnoosi.
Lue otsikon takana oleva määritelmä
Apuohjelmat eroavat siinä, mitä ne kutsuvat viiveeksi. Jotkin ilmoittavat ajurin rutiinien kestosta, toiset ajoituksen viiveestä, ja nämä kaksi suuretta voivat liikkua vastakkaisiin suuntiin samassa koneessa. Koontinäyttö, joka kutsuu toista niistä pelkästään DPC-viiveeksi, on kertonut sinulle vähemmän kuin miltä näyttää. Siksi kaksi koontinäyttöä voivat olla eri mieltä koneesta, joka ei ole muuttunut lainkaan.
Sama varovaisuus pätee yhden analyysityökalun sisällä. Inklusiivinen kesto seuraa rutiinia sisääntulosta ulostuloon, kun taas eksklusiivinen kesto summaa vain ne osat, joissa rutiini itse suoritti. Väärän sarakkeen valitseminen tekee kutsujasta syyllisen.
Paikallinen ajurityö ja verkon viive vaikuttavat myös toisiinsa sulautumatta. Liiallinen keskeytyksiin liittyvä toiminta voi viivästyttää aikakriittistä työtä koneessa, ja ruuhkautunut polku voi viivästyttää paketteja, ja molemmat voivat pitää paikkansa yhden näkyvän tauon aikana.
Laita jokainen havainto yhteen ikkunaan
Jäljitys on hyödyllinen vain, jos luet välin, joka sisältää oireen. Tallenna jäljitys, asiakkaan tapahtuma ja sovelluksen vika aikaleimoineen ja katso sitten samoja sekunteja kaikissa kolmessa. Tunnin mittaisen jäljityksen maksimi ja myöhemmin samana iltapäivänä tapahtunut katkeaminen ovat kaksi toisiinsa liittymätöntä tosiasiaa.
wpr -start CPU -filemode
wpr -stop vpn-trace.etl
xperf -i vpn-trace.etl -a dpcisr -o dpc.txt
Avaa sitten jäljitys analyysityökalussa ja lajittele keston mukaan tämän ikkunan sisällä, ei koko tallenteen mukaan. prosessorin analyysiohje kuvaa DPC/ISR-keston näkymän, joka kohdistaa ajan moduuleihin ja funktioihin.
Vahvista, mitä tunnelille todella tapahtui, kun olet siellä. Sovelluksen liikenteen hetkellinen menetys ei tarkoita, että asiakas aloitti uuden neuvottelun, eikä pienen kokeen onnistuminen todista, että kaikki muu jatkoi toimintaansa.
Vaihda komponentti, jonka todisteet nimeävät
Varattu moduuli on tutkinnan paikka, ei tuomio. Se saattaa tehdä työtä, jonka toinen komponentti tai sinun tuottamasi kuorma aiheuttaa. Pidä moduulin nimi, laite, ajurin versio ja havaittu väli yhdessä, sillä juuri tämä joukko on se, johon toimittaja voi reagoida.
Yksi muutos kokeilua kohden on ainoa tapa oppia tuloksesta. Johdollinen vertailu kaventaa alaa, mutta se muuttaa samalla radiopolkua ja ajurin toimintaa, joten käsittele sitä johtolankana äläkä todisteena.
Käsittele jäljitystä arkaluonteisena. Se voi sisältää prosessien nimiä ja ympäristön yksityiskohtia, joten se kuuluu tuettuun tallennuskanavaan eikä julkiseen liitteeseen. Kerro, mihin havaintoon jäljityksen oli tarkoitus vastata.