En sikkerhetskopi starter å laste opp, overføringsteljeren virker sunn, og videosamtalen blir til grøt. Linjen mangler ikke båndbredde i den betydningen tallet antyder; pakker venter i en kø et sted, og de interaktive ligger bak store datamengder. Det er køforsinkelse, vanligvis kalt bufferbloat. En VPN kan legge til sin egen kø, men skaper sjelden problemet alene.

Båndbredde og forsinkelse er forskjellige målinger

Gjennomstrømning svarer på hvor mye data som flyttes per sekund, mens forsinkelse svarer på hvor lang tid en pakke bruker på å krysse ruten. En mettet linje kan holde et stort etterslep og likevel rapportere god gjennomstrømning, fordi køen tømmes med linjehastighet når utbruddet er over. Interaktiv trafikk lider først, fordi en samtale trenger en pakke hvert par millisekund, ikke en stor fil til slutt. Derfor skjuler det å måle bare et hastighetstestresultat symptomet som fikk deg til å se etter.

Legg også merke til retningen under belastning. En full opplastingsbuffer kan forsinke alt annet mens nedlastingskapasiteten står ubrukt.

Mål rundturen under belastning

Ta en baseline på en rolig linje, og gjenta deretter samme måling mens én kontrollert overføring kjører. Sammenlign de to kjøringene i stedet for de absolutte tallene.

ping -c 20 -i 0.2 203.0.113.5
dd if=/dev/zero bs=1M count=50 | ssh [email protected] "cat > /dev/null"

Den første kommandoen tar stikkprøver av rundturen, og den andre lager en vedvarende opplasting uten å trenge en hastighetstesttjeneste. En baseline som holder seg flat, etterfulgt av en belastet kjøring som stiger med hundrevis av millisekunder, er mønsteret du skal se etter. Noen nettverk nedprioriterer ICMP, så behandle ping som et hint og bekreft med applikasjonens egen latensvisning. Hold testen kort på linjer med datagrense, fordi en repeterbar kontrast betyr mer enn en lang metning.

Flytt køen dit flaskehalsen er

Køstyring hjelper bare på enheten som faktisk holder etterslepet. Undersøk hva grensesnittet gjør før du legger til regler.

tc -s qdisc show dev eth0
tc qdisc replace dev eth0 root fq_codel

Kommandoen show rapporterer gjeldende disiplin pluss tellere for etterslep og forkastning, som forteller deg om dette grensesnittet er flaskehalsen eller bare slipper trafikken gjennom. Å erstatte rotdisiplinen med en rettferdig køalgoritme gir korte strømmer deres egen runde i stedet for én FIFO som deles med store data. Bruk den på ruterens WAN-grensesnitt når ruteren er flaskehalsen, ikke på tunneleenheten av vane. Behold den forrige konfigurasjonen og test både respons under belastning og overføringshastighet på nytt, fordi en litt lavere bulkhastighet er en god byttehandel for brukbare samtaler.

Hva tunnelen endrer og hva den skjuler

En VPN legger til kryptering og et ekstra hopp, og den skjuler også individuelle strømmer for utstyr utenfor tunnelen. Det betyr noe når en enhet lenger opp tilbyr prioritering per applikasjon, fordi den ser krypterte pakker i stedet for de opprinnelige samtalene. En ruter som avslutter tunnelen selv, har en annen oversikt og arbeidsmengde og kan klassifisere inni den. Ingen av de to ordningene fjerner køen på aksesslinjen, som vanligvis er der forsinkelsen hoper seg opp.

Hvis forsinkelsen ikke følger belastningen, slutt å finjustere køer og se andre steder: Wi-Fi-forhold, problemer med pakkestørrelse eller én dårlig utgangsvei. Køinnstillinger brukt uten måling flytter bare mysteriet.

Relaterte artikler