Router oder Laptop ohne CPU-Leistung? Warum Ihre VPN-Geschwindigkeit zu früh endet
Ein Router oder Laptop kann eher an Rechenleistung ausgehen, als die Leitung voll wird. Beobachten Sie die Last pro Kern während einer kontrollierten Übertragung und prüfen Sie dann Offload, bevor Sie jemanden beschuldigen.
Ein Router bewirbt schnelles WLAN und müht sich dann, den Verkehr für drei Geräte gleichzeitig zu verschlüsseln. Ein Laptop stößt an eine Rechengrenze, während die Zugangsleitung noch Platz hat. Meist wird zuerst der Server beschuldigt, und meist ist er unschuldig. Die Grenze sitzt auf der Maschine, die die Tunnelarbeit leistet, und sie zu finden heißt, diese Maschine zu beobachten statt den Geschwindigkeitstest.
Das Symptom zeigt auf eine Maschine, nicht auf das Internet
Wo der Tunnel läuft, entscheidet, welcher Prozessor dafür bezahlt. Beendet ihn der Router, teilen sich alle abgedeckten Clients das Budget dieses Routers. Läuft ein Client auf dem Laptop, zahlt der Laptop und der Router nicht. Tunnel an beiden Enden erzeugen zwei Arbeitslasten, von denen jede an einem anderen Tag zur Grenze werden kann. Die Maschine zu benennen ist der erste Schritt, und genau diesen Schritt überspringen Menschen, wenn sie ein Ticket gegen den Anbieter eröffnen.
Zählen Sie die Geräte zwischen der Anwendung und dem fernen Ende und markieren Sie dann das, welches verschlüsselt. Alles andere ist nur ein Träger von Bytes, die es nicht lesen kann.
Beobachten Sie die Last pro Kern während einer Übertragung
Ein Gesamt-CPU-Prozentsatz ist das falsche Instrument, weil Verschlüsselungsarbeit oft einen einzelnen Kern festhält, während die übrigen untätig sind. Sehen Sie sich die Werte pro Kern während einer kontrollierten Übertragung an und achten Sie auf einen Kern nahe der Sättigung. Ein mäßiger Durchschnitt mit einem beschäftigten Thread ist ein starkes Signal, während ein hoher Durchschnitt ohne beschäftigten Thread meist ein unbeteiligtes Programm bedeutet. Das Muster zählt mehr als die Zahl.
mpstat -P ALL 1 5
top -H -b -n 1 | head -20
lscpu | grep -i -E "model name|aes"
Der dritte Befehl sagt Ihnen, ob der Prozessor AES-Befehle bereitstellt, was die Kosten derselben Chiffre stark verändert. Er sagt nicht, ob die VPN-Implementierung sie nutzt, und genau die Lücke zwischen diesen beiden Tatsachen ist die Quelle der meisten Optimierungsversprechen.
Trennen Sie Verschlüsselung von Paketverarbeitung
Verschlüsselung ist einer von mehreren Kostenposten. Das Kopieren von Paketen zwischen Kernel und Userspace, Routing-Abfragen, Firewall-Regeln und Schnittstellenverarbeitung tragen alle bei, und manche Implementierungen zahlen für das Kopieren mehr als für Kryptografie. Notieren Sie, welcher Zähler zusammen mit der Übertragung steigt, statt dem Prozessnamen zu vertrauen, dass er jeden Zyklus erklärt. Ein Tunnel im Userspace und ein Tunnel im Kernel können für identischen Verkehr völlig unterschiedliche Profile zeigen.
Ist ein Kern innerhalb des Kernels beschäftigt, unterscheidet sich die Abhilfe von einem beschäftigten Userspace-Thread, und das Profil sagt Ihnen, welchen Fall Sie haben. Diese Unterscheidung ist eine Stunde wert, bevor Sie Hardware kaufen.
Vergleichen Sie Gleiches mit Gleichem, bevor Sie schlussfolgern
Ein Vergleich ist nur nützlich, wenn Aufgabe, Zugangsnetz und Endpunkt gleich bleiben. Ändern Sie den Server, und das Ergebnis enthält Route und Kapazität dieses Servers; ändern Sie das Netz, und es enthält den Anbieter. Verwenden Sie dieselbe Datei, dasselbe Ziel und dieselbe Tageszeit, und pausieren Sie Ihre eigene Hintergrundarbeit. Wenn Sie das Gerät wechseln müssen, wechseln Sie nur das Gerät.
Strom und Wärme verändern die Dauerleistung, daher ist ein kurzer Lauf auf einer kalten Maschine nicht dieselbe Messung wie eine lange Übertragung auf einer warmen. Vergleichen Sie ähnliche Stromverhältnisse und schreiben Sie sie auf, denn eine thermische Grenze sieht im Diagramm genauso aus wie eine Rechengrenze.
Nutzen Sie unterstütztes Offload und prüfen Sie, ob es wirklich aktiv wurde
Manche Implementierungen können einen Teil des Datenpfads in den Kernel oder in Hardware verschieben, und die Verfügbarkeit hängt vom Client, vom Betriebssystem, vom Server und von der Konfiguration ab. Lesen Sie die Dokumentation für die von Ihnen betriebene Version und nutzen Sie deren eigene Statusausgabe oder Protokolle, um zu bestätigen, dass die Funktion aktiv ist. Ein installiertes Paket oder ein gesetztes Häkchen ist kein Beweis. Das OpenVPN-Handbuch dokumentiert Datenkanal-Optionen für seine eigenen Versionen, und diese Optionen unterscheiden sich zwischen Versionen.
Wenn eine unterstützte Änderung die Obergrenze verschiebt, wiederholen Sie sowohl die Anwendungsaufgabe als auch eine Massenübertragung und behalten Sie das vorherige Profil, damit Sie zurückrollen können. Eine Massenrate, die sich verdoppelt, während die Anwendung langsam bleibt, hat den Engpass verschoben statt ihn zu beseitigen.
Folgen die Prozessorbeobachtungen dem Symptom nicht, kehren Sie zur Netzwerkseite zurück. WLAN-Wiederholungen, Warteschlangen und der Ausgangspfad erzeugen dasselbe Ergebnis ganz ohne CPU-Beteiligung.