Започва качване на резервно копие, броячът на трансфера изглежда добре, а видеоразговорът се разпада. Връзката не изпитва недостиг на честотна лента в смисъла, който това число подсказва; пакетите чакат някъде в опашка, а интерактивните стоят зад обемни данни. Това е забавяне от опашка, обикновено наричано bufferbloat. VPN може да добави своя опашка, но рядко създава проблема сам.

Честотната лента и забавянето са различни измервания

Пропускателната способност отговаря колко данни се движат за секунда, докато забавянето отговаря колко време отнема на един пакет да премине пътя. Наситена връзка може да държи голям изостанал обем и пак да отчита добра пропускателна способност, защото опашката се източва със скоростта на линията, щом избликът приключи. Интерактивният трафик страда пръв, тъй като разговорът се нуждае от пакет на всеки няколко милисекунди, а не от голям файл в края. Затова измерването само на резултат от тест за скорост скрива симптома, който ви е накарал да погледнете.

Обърнете внимание и на посоката под товар. Пълен буфер за качване може да забави всичко останало, докато капацитетът за сваляне стои празен.

Измерете времето за обиколка под товар

Вземете базова линия на тиха връзка, после повторете същото измерване, докато тече един контролиран трансфер. Сравнете двата пуска, а не абсолютните числа.

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

Първата команда взема проби от времето за обиколка, а втората създава продължително качване, без да е нужна услуга за тест на скоростта. Базова линия, която остава равна, последвана от натоварен пуск, който се покачва със стотици милисекунди, е отпечатъкът, който търсите. Някои мрежи понижават приоритета на ICMP, затова приемете ping като улика и потвърдете чрез собственото отчитане на закъснението в приложението. Пазете теста кратък при лимитирани връзки, защото повторим контраст е по-важен от дълго насищане.

Преместете опашката там, където е тясното място

Управлението на опашката помага само на устройството, което действително държи изостаналите данни. Проверете какво прави интерфейсът, преди да добавяте правила.

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

Командата show отчита текущата дисциплина плюс броячи на изостаналото и на отхвърленото, което ви казва дали този интерфейс е тясното място, или само пропуска трафик. Замяната на кореновата дисциплина с алгоритъм за справедлива опашка дава на кратките потоци свой ред вместо една FIFO, споделена с обемните данни. Приложете го на WAN интерфейса на рутера, когато рутерът е тясното място, а не на тунелното устройство по навик. Запазете предишната конфигурация и проверете отново както отзивчивостта под товар, така и скоростта на трансфер, защото малко по-ниска масова скорост е добра сделка за използваеми разговори.

Какво променя тунелът и какво скрива

VPN добавя криптиране и още един преход, а също скрива отделните потоци от оборудването извън тунела. Това има значение, когато устройство по-горе по веригата предлага приоритизация по приложение, защото то вижда криптирани пакети, а не оригиналните разговори. Рутер, който сам прекратява тунела, има различна гледка и натоварване и може да класифицира вътре в него. Нито една от двете подредби не премахва опашката на достъпната връзка, която обикновено е мястото, където се натрупва забавянето.

Ако забавянето не следва товара, спрете да настройвате опашки и погледнете другаде: условия на Wi-Fi, проблеми с размера на пакета или един лош изходен път. Настройки на опашката, приложени без измерване, само преместват загадката.

Подобни статии