Zašto VPN deluje sporo tokom otpremanja: kašnjenje zbog reda
Brži prenos i dalje može učiniti da pozivi zapinju kada paketi čekaju u redu. Uporedite vreme kružnog puta u mirovanju i pod opterećenjem pre nego što okrivite VPN krajnju tačku.
Počinje otpremanje rezervne kopije, brojač prenosa izgleda zdravo, a video poziv se raspada. Veza nema manjak propusnog opsega u smislu koji taj broj sugeriše; paketi negde čekaju u redu, a interaktivni stoje iza velikih podataka. To je kašnjenje zbog reda, obično nazvano bufferbloat. VPN može dodati svoj red, ali retko sam stvara problem.
Propusni opseg i kašnjenje su različita merenja
Propusnost odgovara koliko se podataka prenese u sekundi, dok kašnjenje odgovara koliko jednom paketu treba da pređe put. Zasićena veza može držati veliki zaostatak i ipak prijavljivati dobru propusnost, jer se red prazni brzinom linije kad se rafal završi. Interaktivni saobraćaj pati prvi, jer pozivu treba paket svakih nekoliko milisekundi, a ne velika datoteka na kraju. Zato merenje samo rezultata testa brzine skriva simptom zbog kojeg ste pogledali.
Obratite pažnju i na smer pod opterećenjem. Pun bafer za otpremanje može odgoditi sve ostalo dok kapacitet za preuzimanje stoji besposlen.
Izmerite vreme kružnog puta pod opterećenjem
Uzmite osnovnu liniju na tihoj vezi, pa ponovite isto merenje dok traje jedan kontrolisani prenos. Uporedite dva prolaza, a ne apsolutne brojeve.
ping -c 20 -i 0.2 203.0.113.5
dd if=/dev/zero bs=1M count=50 | ssh [email protected] "cat > /dev/null"Prva komanda uzima uzorke vremena kružnog puta, a druga stvara trajno otpremanje bez potrebe za servisom za test brzine. Osnovna linija koja ostaje ravna, a zatim opterećen prolaz koji naraste za stotine milisekundi, jeste potpis koji tražite. Neke mreže smanjuju prioritet ICMP-a, pa ping shvatite kao trag i potvrdite na prikazu latencije same aplikacije. Držite test kratkim na merenim vezama, jer je ponovljiv kontrast važniji od dugog zasićenja.
Premestite red tamo gde je usko grlo
Upravljanje redom pomaže samo na uređaju koji zaista drži zaostatak. Pregledajte šta interfejs radi pre dodavanja pravila.
tc -s qdisc show dev eth0
tc qdisc replace dev eth0 root fq_codelKomanda show prijavljuje trenutnu disciplinu te brojače zaostatka i odbacivanja, što vam kaže da li je ovaj interfejs usko grlo ili samo propušta saobraćaj. Zamena korenske discipline algoritmom pravičnog reda daje kratkim tokovima sopstveni red umesto jedne FIFO deljene s velikim podacima. Primenite je na WAN interfejs rutera kada je ruter usko grlo, a ne na tunelskom uređaju iz navike. Sačuvajte prethodnu konfiguraciju i ponovo proverite i odzivnost pod opterećenjem i brzinu prenosa, jer je malo niža masovna brzina dobra trampa za upotrebljive pozive.
Šta tunel menja, a šta skriva
VPN dodaje šifrovanje i još jedan skok, a takođe skriva pojedinačne tokove od opreme izvan tunela. To je važno kada uređaj uzvodno nudi prioritizaciju po aplikaciji, jer on vidi šifrovane pakete umesto izvornih razgovora. Ruter koji sam prekida tunel ima drugačiji pogled i radno opterećenje i može da klasifikuje unutar njega. Nijedan od tih rasporeda ne uklanja red na pristupnoj vezi, gde se kašnjenje obično nakuplja.
Ako kašnjenje ne prati opterećenje, prestanite da podešavate redove i pogledajte drugde: uslovi Wi-Fi, problemi s veličinom paketa ili jedan loš izlazni put. Postavke reda primenjene bez merenja samo premestaju misteriju.