Klager på sanntids-VPN treng ein frist å feile mot, og «låg latens» er ikkje ein frist. Bestem kva samtalen eller den eksterne økta må levere, og mål deretter vegen mot kravet under oppgjevne tilhøve. Utan ein terskel for seine pakkar er kvart resultat diskutabelt. Fordelinga nedanfor er ei designavgjerd, og ho finst for at målinga skal ha noko å svare på.

Skriv ned fristen før du rører ein probe

Fristen kjem frå applikasjonen og brukarane, ikkje frå ei marknadsføringsside hjå ein leverandør. Ein direkte talekanal, ei ekstern skrivebordsøkt og ein nattsikkerheitskopi toler heilt ulike ventetider, og svikten som betyr noko er vanlegvis halen og ikkje medianen. Skriv talet ned saman med arbeidsbelastninga det høyrer til.

Fordel han så. Opptak og pakking brukar ein del av budsjettet, aksesslenkja og tunnelen ein annan del, de-jitter-bufferen hjå mottakaren held medvite på pakkar, og applikasjonshandsaminga tek resten. Å namngje desse trinna held tunnelkrypteringa i proporsjon i staden for å gjere henne til den førehandsmistenkte for kvar treg pakke.

Til slutt definerer du målekontrakten i fire linjer: endepunkt og retning, trafikkform, tilhøve under køyringa og resultatet du vil rapportere. Ei stille sundagsprøve og ei belasta tysdagsprøve svarar på ulike spørsmål, så oppgje kva for ei du samla inn. Viss du ikkje kan fylle ut alle fire linjene, er køyringa ikkje klar til å starte. Den sjekklista er òg det som gjer to rapportar samanliknbare månader seinare, når ingen hugsar kva elles sambandet bar.

Fordel budsjettet på kvart trinn

Tabellen er eit planleggingsverktøy, ikkje innsamla data. Fyll ut eigaren for kvar rad før den første proben, for eigaren er den du ringer når det trinnet overskrid sin del.

StageWhat it contributesWho owns it
Capture and packetizationEncoder frame size, aggregationApplication owner
Tunnel and transitEncryption, queueing, path lengthNetwork owner
Receiver bufferDeliberate waiting to absorb variationApplication owner
Application processingDecode and render timeApplication owner

To rader overraskar vanlegvis folk. Mottakarbufferen er ikkje ein feil når han legg til forseinking, fordi han gjer jobben han vart konfigurert for. Og delen til tunnelen er ofte mindre enn køen framfor han, særleg på ein opplenkje som blir metta under opplastingar.

Når eit trinn ikkje har nokon eigar, er budsjettet fiksjon. Oppnemne ein før du måler, elles brukar du neste møte på å krangle om kven sin tal som er feil.

Mål einvegs forseinking med ei ærleg klokke

Einvegs forseinking er talet fristen bryr seg om, og det krev synkroniserte klokker i begge endar. Målet for einvegs forseinking krev at du rapporterer synkroniseringsmetode, oppløysing og estimert skilnad saman med resultatet. To usynkroniserte vertar kan produsere eit svært presist tal for feil storleik.

Fang nokre hundre pakkar i staden for ei handfull, og noter klokketilstanden samstundes:

$ ntpq -p
$ owping -c 300 -i 0.2 10.90.0.1
$ ping -c 200 -i 0.2 10.90.0.1 | tail -n 3

Rundtur-tid er ei eiga måling, ikkje to einvegsverdiar lagde saman. Å halvere ein RTT føreset symmetriske vegar og symmetriske køer, og ein tunnel over ein mobil opplenkje bryt rutinemessig begge føresetnadene. Rapporter RTT som RTT, og hald han utanfor einvegsbudsjettet.

Rapporter halen og dei seine pakkane

Oppsummer fordelinga: median, 95. og 99. persentil, verste tilfelle, tap og talet på pakkar som kom seinare enn fristen tillèt. Gjennomsnittet er det minst nyttige av desse tala for ei sanntidsarbeidsbelastning, fordi eit glatt gjennomsnitt kan skjule ein hale som øydelegg kvar tredje samtale.

Forseinkingsvariasjon matar mottakarbufferen direkte. Meir bufring skjuler variasjon og legg til venting, så ein straum kan sjå stabil ut medan han overskrid fristen. Vel ei formulering av variasjonen, oppgje intervallet du målte over, og hald henne konsistent mellom køyringar.

Gjenta køyringa med representativ kryssstrafikk. Ein veg som held budsjettet når han er ledig og bommar på det i eit sikkerheitskopivindu, har fortalt deg noko nyttig om planlegging, som inga einskilde stille måling ville avsløre. Noter tilhøva ved sida av resultatet, for den neste ingeniøren vil elles samanlikne to prøver som aldri var samanliknbare.

Aksepter designet når den målte halen passar i budsjettet under arbeidsbelastninga du faktisk køyrer, og avvis det med trinnet som overskreid nemnt i rapporten.

Relaterte artiklar