Warum sich eine Dateifreigabe über VPN langsam anfühlt: Hin- und Rückwege statt Mbps
Dateifreigabeprotokolle setzen LAN-Latenz voraus. Geschwätzige Metadaten, Operationen mit kleinen Dateien und MTU-Probleme verursachen Hänger, die mehr Bandbreite nicht behebt.
Einen freigegebenen Ordner über das VPN zu öffnen und zu warten, während die Verzeichnisliste kriecht, ist eine vertraute Erfahrung, und der erste Reflex ist, die Bandbreite zu beschuldigen. Meist ist die Verbindung weitgehend untätig. Das Protokoll verbringt seine Zeit mit Warten auf Antworten, und jedes Warten kostet einen vollen Umlauf, den das LAN nie berechnet hat. Ändern Sie die Form der Arbeit, und die Freigabe wird wieder nutzbar.
Die entfernte Arbeitskopie hat die falsche Form
SMB öffnet Dateien, liest Metadaten und bestätigt in vielen kleinen Austauschen. Eine Arbeitskopie der Versionsverwaltung auf einem eingebundenen Laufwerk setzt lokale Dateisystemlatenz voraus und liest viele kleine Dateien. Eine Desktop-Datenbank zieht Seiten, während der Benutzer arbeitet. Jedes davon macht Verzögerung zu einem Multiplikator, weil die Kosten mit der Zahl der Austausche wachsen, die die Operation ausführt; ein Tunnel mit 40 ms macht daher ein paar hundert Operationen zu mehreren Sekunden. Die Nutzlastgröße ist in dieser Rechnung fast irrelevant.
Der Verschlüsselungsaufwand ist ein kleiner Teil davon; Verlust ist schlimmer, weil eine Wiederübertragung plus ein eingebrochenes Überlastfenster weit mehr kostet als die betroffenen Bytes.
Zählen Sie Umläufe vor Megabytes
Messen Sie die Verzögerung, bevor Sie Kapazität kaufen. Ein einzelnes Ping zeigt, was jeder Austausch kostet.
ping -c 10 fileserver.example.netDie Zusammenfassung liefert minimale, durchschnittliche und maximale Umlaufzeiten, und die Streuung zählt genauso viel wie der Durchschnitt. Multiplizieren Sie den Durchschnitt mit der Zahl der Austausche, die eine Verzeichnisliste ausführt, und vergleichen Sie das mit der Zeit, die Sie tatsächlich beobachten. Wenn eine große Datei schnell übertragen wird, während das Durchsuchen langsam ist, sind Latenz und Anfragezahl die Begrenzung. Zehnmal so viel Kapazität an eine Verbindung zu hängen, die nie ausgelastet wird, ändert überhaupt nichts.
Verschieben Sie die Arbeit, nicht die Bytes
Ändern Sie, wo die Arbeit stattfindet, statt für mehr Rohr zu zahlen. Bedienen Sie das Repository, statt es einzubinden, und kopieren Sie in großen Blöcken mit einem Werkzeug, das nur Unterschiede sendet.
rsync -av --info=progress2 ./project/ [email protected]:/srv/share/project/Wird das Repository bedient, wie es hgweb oder ein entferntes Git tut, arbeitet der Client auf einem lokalen Klon, sodass seine Dateisystemaufrufe nie den Tunnel überqueren. rsync läuft beide Seiten ab und schickt geänderte Blöcke, wodurch die meisten Austausche entfallen, die eine naive Kopie bezahlt. Eine Desktop-Datenbank gehört auf eine serverseitige Engine, mit dem Client als reine Oberfläche, oder der ganze Client läuft auf einem internen Host. Jede Option ändert, wie viel Latenz das Protokoll ausgesetzt ist, und darum geht es.
Hänger bei derselben Größe sind ein MTU-Symptom
Große Übertragungen, die nach ungefähr derselben Datenmenge stocken, während Ping und kleine Seiten funktionieren, deuten auf die Paketgröße statt auf Bandbreite hin.
ping -M do -s 1400 -c 3 fileserver.example.netEine erfolgreiche Probe bedeutet, dass ein IP-Paket mit 1428 Bytes den Pfad unfragmentiert passiert, da ICMP- und IP-Header 28 Bytes hinzufügen. Ein Fehlschlag mit dem Do-not-fragment-Flag deutet darauf hin, dass die nutzbare MTU des Tunnels kleiner ist, als der Server annimmt. Ein Server, der Puffer mit 9000 Bytes auf einen Pfad mit 1500 Bytes schickt, erzwingt Fragmentierung oder Verwerfen, und die Pfad-MTU-Erkennung kann still scheitern, wenn ICMP gefiltert wird. Senken Sie die MTU des Tunnels, aktivieren Sie mssfix unter OpenVPN oder verkleinern Sie die Puffer des Servers, und wiederholen Sie dann dieselbe Übertragung zur Bestätigung.
Messen Sie die Lücke, auf die es ankommt
Führen Sie dieselbe Operation auf drei Wegen aus, wo es die Richtlinie erlaubt: lokal, über den Tunnel und über einen direkten Internetpfad. Notieren Sie jeweils die Umlaufzeit, die Rate eines großen Streams und wie lange eine Verzeichnisliste oder das Öffnen einer Anwendung dauert. Der Vergleich des lokalen Laufs mit dem Lauf über den Tunnel zeigt, welche Kosten dominieren. Eine Kopie, die langsam fertig wird, deutet auf ein Rate- oder Verzögerungsproblem hin, während eine Kopie, die an einem gleichbleibenden Punkt stirbt, auf Paketgröße oder ein zustandsbehaftetes Gerät im Pfad deutet.
Wenn nur die ersten Megabytes schleppen, schauen Sie auf Authentifizierung und Metadaten; wenn alles kriecht, schauen Sie auf Kapazität und Verlust. Beheben Sie die passende Ursache und hören Sie auf zu erwarten, dass sich eine WAN-Verbindung wie ein LAN-Kabel verhält.