Warum sich ein VPN beim Hochladen langsam anfühlt: Warteschlangenverzögerung
Eine schnelle Übertragung kann Anrufe trotzdem stocken lassen, wenn Pakete in einer Warteschlange warten. Vergleichen Sie Umlaufzeiten im Leerlauf und unter Last, bevor Sie den VPN-Endpunkt beschuldigen.
Eine Sicherung beginnt hochzuladen, der Übertragungszähler sieht gesund aus, und der Videoanruf wird zu Brei. Der Verbindung fehlt es nicht an Bandbreite in dem Sinn, den diese Zahl suggeriert; Pakete warten irgendwo in einer Warteschlange, und die interaktiven stehen hinter Massendaten. Das ist Warteschlangenverzögerung, gemeinhin Bufferbloat genannt. Ein VPN kann seine eigene Warteschlange hinzufügen, erfindet das Problem aber selten allein.
Bandbreite und Verzögerung sind verschiedene Messungen
Der Durchsatz beantwortet, wie viele Daten pro Sekunde fließen, während die Verzögerung beantwortet, wie lange ein Paket braucht, um den Pfad zu überqueren. Eine gesättigte Verbindung kann einen großen Rückstand halten und trotzdem guten Durchsatz melden, weil die Warteschlange mit Leitungsgeschwindigkeit abfließt, sobald der Schub endet. Interaktiver Verkehr leidet zuerst, denn ein Anruf braucht alle paar Millisekunden ein Paket statt irgendwann eine große Datei. Nur ein Speedtest-Ergebnis zu messen, verbirgt daher das Symptom, das Sie zum Nachsehen brachte.
Achten Sie auch auf die Richtung unter Last. Ein voller Upload-Puffer kann alles andere verzögern, während die Downloadkapazität ungenutzt bleibt.
Messen Sie die Umlaufzeit unter Last
Nehmen Sie eine Grundlinie auf einer ruhigen Verbindung auf und wiederholen Sie dann dieselbe Messung, während eine kontrollierte Übertragung läuft. Vergleichen Sie die beiden Läufe statt der absoluten Zahlen.
ping -c 20 -i 0.2 203.0.113.5
dd if=/dev/zero bs=1M count=50 | ssh [email protected] "cat > /dev/null"Der erste Befehl tastet die Umlaufzeit ab, und der zweite erzeugt einen dauerhaften Upload, ohne einen Speedtest-Dienst zu benötigen. Eine Grundlinie, die flach bleibt, gefolgt von einem belasteten Lauf, der um Hunderte von Millisekunden steigt, ist die Signatur, nach der Sie suchen. Manche Netze stufen ICMP herab, behandeln Sie ping also als Hinweis und bestätigen Sie es mit der Latenzanzeige der Anwendung selbst. Halten Sie den Test auf datenbegrenzten Verbindungen kurz, denn ein wiederholbarer Kontrast zählt mehr als eine lange Sättigung.
Verschieben Sie die Warteschlange dorthin, wo der Engpass ist
Warteschlangenverwaltung hilft nur auf dem Gerät, das den Rückstand tatsächlich hält. Prüfen Sie, was die Schnittstelle tut, bevor Sie Regeln hinzufügen.
tc -s qdisc show dev eth0
tc qdisc replace dev eth0 root fq_codelDer Befehl show meldet die aktuelle Disziplin sowie Rückstands- und Verwerfungszähler, was Ihnen sagt, ob diese Schnittstelle der Engpass ist oder nur Verkehr durchleitet. Die Wurzel-Disziplin durch einen fairen Warteschlangenalgorithmus zu ersetzen, gibt kurzen Flüssen ihre eigene Runde statt einer FIFO, die mit Massendaten geteilt wird. Wenden Sie ihn auf der WAN-Schnittstelle des Routers an, wenn der Router der Engpass ist, nicht aus Gewohnheit auf dem Tunnelgerät. Behalten Sie die vorherige Konfiguration und testen Sie sowohl die Reaktionsfähigkeit unter Last als auch die Übertragungsrate erneut, denn eine etwas niedrigere Massenrate ist ein guter Tausch für nutzbare Anrufe.
Was der Tunnel ändert und was er verbirgt
Ein VPN fügt Verschlüsselung und einen weiteren Sprung hinzu und verbirgt außerdem einzelne Flüsse vor Geräten außerhalb des Tunnels. Das zählt, wenn ein vorgelagertes Gerät Priorisierung pro Anwendung bietet, denn es sieht verschlüsselte Pakete statt der ursprünglichen Gespräche. Ein Router, der den Tunnel selbst beendet, hat eine andere Sicht und Arbeitslast und kann darin klassifizieren. Keine der beiden Anordnungen beseitigt die Warteschlange am Zugangsanschluss, wo sich die Verzögerung normalerweise staut.
Wenn die Verzögerung nicht der Last folgt, hören Sie auf, Warteschlangen zu optimieren, und schauen Sie woanders hin: Wi-Fi-Bedingungen, Probleme mit der Paketgröße oder ein schlechter Ausgangspfad. Warteschlangeneinstellungen ohne Messung verschieben nur das Rätsel.