Sæt et forsinkelsesbudget for realtidstrafik over en VPN
Start med den frist, appen skal overholde, og mål derefter envejsforsinkelse og jitter under oplyste betingelser. Et gennemsnit uden en sen-tærskel beviser intet.
Klager over realtids-VPN har brug for en frist at fejle imod, og «lav latenstid» er ikke en frist. Beslut, hvad samtalen eller den eksterne session skal levere, og mål derefter vejen mod det krav under oplyste betingelser. Uden en tærskel for sene pakker er ethvert resultat diskutabelt. Fordelingen nedenfor er en designbeslutning, og den findes, så målingen har noget at svare på.
Skriv fristen ned, før du rører en probe
Fristen kommer fra applikationen og dens brugere, ikke fra en leverandørs marketingside. Et live voice-opkald, en fjernskrivebordssession og en natlig backup tåler helt forskellige ventetider, og det svigt, der betyder noget, er som regel halen snarere end medianen. Skriv tallet ned sammen med den arbejdsbyrde, det hører til.
Fordel det derefter. Optagelse og pakning bruger en del af budgettet, adgangsforbindelsen og tunnelen en anden del, modtagerens de-jitter-buffer holder bevidst på pakker, og applikationsbehandlingen tager resten. At navngive disse trin holder tunnelkrypteringen i proportion i stedet for at gøre den til den oplagte mistænkte for hver langsom pakke.
Endelig definer målekontrakten i fire linjer: endepunkter og retning, trafikform, betingelser under kørslen og det resultat, du vil rapportere. En stille søndagsprøve og en belastet tirsdagsprøve besvarer forskellige spørgsmål, så angiv, hvilken du indsamlede. Hvis du ikke kan udfylde alle fire linjer, er kørslen ikke klar til at begynde. Den tjekliste er også det, der gør to rapporter sammenlignelige måneder senere, når ingen husker, hvad ellers forbindelsen bar.
Del budgettet ud på hvert trin
Tabellen er et planlægningsværktøj, ikke indsamlede data. Udfyld ejeren for hver række før den første probe, for ejeren er den, du ringer til, når det trin overskrider sin andel.
| Stage | What it contributes | Who owns it |
|---|---|---|
| Capture and packetization | Encoder frame size, aggregation | Application owner |
| Tunnel and transit | Encryption, queueing, path length | Network owner |
| Receiver buffer | Deliberate waiting to absorb variation | Application owner |
| Application processing | Decode and render time | Application owner |
To rækker overrasker normalt folk. Modtagerbufferen er ikke en fejl, når den tilføjer forsinkelse, fordi den gør det arbejde, den blev konfigureret til. Og tunnelens andel er ofte mindre end køen foran den, især på en uplink, der mættes under uploads.
Når et trin ikke har nogen ejer, er budgettet fiktion. Udpeg en, før du måler, ellers bruger du det næste møde på at skændes om, hvis tal der er forkert.
Mål envejsforsinkelse med et ærligt ur
Envejsforsinkelse er det tal, fristen er interesseret i, og det kræver synkroniserede ure i begge ender. Målet for envejsforsinkelse kræver, at du rapporterer synkroniseringsmetode, opløsning og estimeret skævhed sammen med resultatet. To usynkroniserede værter kan producere et meget præcist tal for den forkerte størrelse.
Fang et par hundrede pakker i stedet for en håndfuld, og noter urets tilstand på samme tid:
$ 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
Rundturstartid er en separat måling, ikke to envejsværdier lagt sammen. At halvere en RTT forudsætter symmetriske veje og symmetriske køer, og en tunnel over en mobil uplink bryder rutinemæssigt begge antagelser. Rapportér RTT som RTT, og hold den uden for envejsbudgettet.
Rapportér halen og de sene pakker
Opsummer fordelingen: median, 95. og 99. percentil, værste tilfælde, tab og antallet af pakker, der ankom senere, end fristen tillader. Gennemsnittet er det mindst nyttige af disse tal for en realtidsarbejdsbyrde, fordi et glat gennemsnit kan skjule en hale, der ødelægger hvert tredje opkald.
Forsinkelsesvariation fodrer direkte modtagerbufferen. Mere buffering skjuler variation og tilføjer ventetid, så en strøm kan se stabil ud, mens den overskrider sin frist. Vælg en variationsformulering, angiv det interval, du målte over, og hold den ens mellem kørsler.
Gentag kørslen med repræsentativ krydstrafik. En vej, der overholder budgettet i tomgang og misser det under et backup-vindue, har fortalt dig noget nyttigt om planlægning, som ingen enkelt stille måling ville afsløre. Noter betingelserne ved siden af resultatet, for den næste ingeniør vil ellers sammenligne to prøver, der aldrig var sammenlignelige.
Accepter designet, når den målte hale passer i budgettet under den arbejdsbyrde, du faktisk kører, og afvis det med det trin, der overskred, navngivet i rapporten.