En säkerhetskopia börjar laddas upp, överföringsmätaren ser frisk ut och videosamtalet blir till gröt. Länken saknar inte bandbredd i den mening som talet antyder; paket väntar i en kö någonstans och de interaktiva står bakom stora datamängder. Det är köfördröjning, vanligen kallad bufferbloat. En VPN kan lägga till sin egen kö, men skapar sällan problemet ensam.

Bandbredd och fördröjning är olika mätningar

Genomströmning svarar på hur mycket data som flyttas per sekund, medan fördröjning svarar på hur lång tid ett paket tar att korsa vägen. En mättad länk kan hålla en stor eftersläpning och ändå rapportera bra genomströmning, eftersom kön töms med linjehastighet när utbrottet är över. Interaktiv trafik lider först, eftersom ett samtal behöver ett paket var par millisekund, inte en stor fil till slut. Därför döljer det att bara mäta ett hastighetstestresultat symptomet som fick dig att titta.

Notera också riktningen under belastning. En full uppladdningsbuffert kan fördröja allt annat medan nedladdningskapaciteten står oanvänd.

Mät rundturen under belastning

Ta en baslinje på en tyst länk och upprepa sedan samma mätning medan en kontrollerad överföring körs. Jämför de två körningarna i stället för de absoluta talen.

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

Det första kommandot samplar rundturen, och det andra skapar en ihållande uppladdning utan att behöva en hastighetstesttjänst. En baslinje som förblir platt, följd av en belastad körning som stiger med hundratals millisekunder, är mönstret du ska leta efter. Vissa nät nedprioriterar ICMP, så behandla ping som en ledtråd och bekräfta med applikationens egen latensvisning. Håll testet kort på länk med datagräns, eftersom en repeterbar kontrast betyder mer än en lång mättnad.

Flytta kön dit flaskhalsen finns

Köhantering hjälper bara på enheten som faktiskt håller eftersläpningen. Undersök vad gränssnittet gör innan du lägger till regler.

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

Kommandot show rapporterar aktuell disciplin plus räknare för eftersläpning och släpp, vilket säger dig om det här gränssnittet är flaskhalsen eller bara släpper igenom trafik. Att ersätta rotdisciplinen med en rättvis köalgoritm ger korta flöden deras egen tur i stället för en enda FIFO som delas med stora data. Använd den på routerns WAN-gränssnitt när routern är flaskhalsen, inte på tunneleenheten av vana. Behåll den tidigare konfigurationen och testa både svarstid under belastning och överföringshastighet igen, eftersom en något lägre bulkhastighet är ett bra byte för användbara samtal.

Vad tunneln ändrar och vad den döljer

En VPN lägger till kryptering och ett extra hopp, och den döljer också enskilda flöden för utrustning utanför tunneln. Det spelar roll när en enhet längre upp erbjuder prioritering per applikation, eftersom den ser krypterade paket i stället för de ursprungliga samtalen. En router som avslutar tunneln själv har en annan vy och arbetsbelastning och kan klassificera inuti den. Ingen av de två ordningarna tar bort kön på åtkomstlänken, som vanligtvis är där fördröjningen samlas.

Om fördröjningen inte följer belastningen, sluta finjustera köer och titta någon annanstans: Wi-Fi-förhållanden, problem med paketstorlek eller en dålig utgångsväg. Köinställningar som används utan mätning flyttar bara mysteriet.

Relaterade artiklar