Linux Geschwindigkeit Datenübertragung

Linux Betriebssystem

Guxtu

Well-known member
Themenstarter
Registriert
26 Dez. 2018
Beiträge
441
Kollegen, hier gibt es eine Sache, die ich nicht verstehe.
Vielleicht kann mir jemand einen Tipp geben.

Beteiligte
Fritzbox 7560
TP T420 unter LMDE 6 mit SSD
TP T480 unter LMDE 6 mit SSD
Ich

Umstände
Beide TP im WLAN-Heimnetz. WLAN-Verbindung 5GHz AC, per Fritzbox angezeigte Geschwindigkeit für Upload/Download >500MBit/s. 5 Geräte an der FB angemeldet und ohne Netzlast bis auf die beteiligten beiden. Keinen interferierenden WLAN-Netze.
Das Filesystem des T420 ist per NFS im T480 eingehängt.
Ich kopiere per Drag and Drop einen Dateibaum mit ca. 10.000 Dateien und 3 GB Größe vom T480 auf das T420.

Problem
Die erreichte Kopiergeschwindigkeit beträgt ca 2MB/s=16MBit/s. Das ist noch nicht mal 10% der theoretisch möglichen Geschwindigkeit und mMn nicht durch Overhead erklärbar.
Wenn ich dann auf dem T420 den Dateibaum auf eine HDD im Caddy kopiere, erreiche ich ca 40MB/s.
Auf beiden TPs erreiche ich im Download aus dem Internet locker die spezifizierten 100Mbit/s.
Ich sehe das Problem also weder im Dateibaum noch in der WLAN-Verbindung.

Woran liegt die niedrige Kopiergeschwindigkeit? Kann ich das ändern?

Danke im Vorab für Hinweise.
 
Lösung
Moin,
lt. diesem Beitrag ist unverschlüsseltes NFS, wovon ich hier einmal ausgehe, gar nicht langsam:

rw,async,all_squash,anonuid=1000,anongid=1000
Hervorhebung von mir.
Der Sync kostet sehr viel. Das selbe auch, wenn man z.B. ZFS synced einhängt (da ist der Impact afaik nicht ganz so relevant).
Ansonsten gilt im Endeffekt halt für alle gängigen Möglichkeiten über Netzwerk auf Dateisysteme zuzugreifen:
Die benutzen (fast) ausschließlich TCP. Und damit ist die Bandbreite durch den Overhead einfach massiv reduziert - vor allem bei vielen kleinen Dateien. Man könnte die Paketgrößen von NFS (rsize und wsize) noch erhöhen, aber auch hier ist...
Die verwendete GUI hilft wenig, interessanter wäre die verwendete Distribution und der Kernel.
Was "sagen" die Syslogs zu den Kopiervorgängen auf den beteiligten Rechnern?
 
Das Kopieren von vielen kleinen Dateien ist immer relativ langsam und ineffizient.
Probier mal tar:
Ziel:
nc -l -p 12345 | tar xf -

Quelle:
tar czf - /Pfad/zu/kopieren/ | nc ZielIP 12345
 
Die verwendete GUI hilft wenig, interessanter wäre die verwendete Distribution und der Kernel.
Was "sagen" die Syslogs zu den Kopiervorgängen auf den beteiligten Rechnern?
Kernel: 6.1.0-35-amd64 auf beiden Rechnern. Wie gesagt, LMDE 6 mit Updates von heute.
Syslog wie immer kryptisch, aber soweit sehe ich nichts auffälliges.

Das Kopieren von vielen kleinen Dateien ist immer relativ langsam und ineffizient.
Weiß ich. Ich meine aber nicht, daß es sooo ineffizient ist.
Klar, ich kann tar oder rsync oder sowas versuchen. Ich meine, sftp ist etwas schneller, habe es aber nicht mit der Stoppuhr gemessen.
Das ist aber erst der nächste Schritt.

Danke euch beiden schon mal.
 
Erklärung zwar nicht, aber zumindest die Empfehlung eines Kernel-Downgrades, dem zwar nicht nachgekommen wurde, aber hier im Forum in einem anderen Thread zum Erfolg führte (auch, wenn es möglicherweise um eine andere Kernel-Version handelte).
 
Moin,

meine Konstellationen sind zwar via ssh, die Geschwindigkeiten mit der Fritte kenne ich aber. Austausch zwei Geräte über WLAN ist eine Katastrophe mit rund 3 MB/S. Wenn dagegen der SSH-Server am LAN- Kabel hängt, erhält der Client die Daten so schnell, wie das WLAN eben liefert. Auch wenn meine Fritte noch eine 7490 mit aktuellem OS 7.60 ist, könnte ein generelles Verhalten vorliegen.

Meine Lösung: Bei größeren Datenmengen rolle ich das 10 Meter LAN- Kabel ab und schließe den 'Server' am Kabel an.
 
Gut, dass es noch Kabel gibt. :D
Ich habe nur leider den Verdacht, dass die FritzBox(en) schlichtweg nicht für internes WLAN ausgelegt sind, und gleichzeitiges Senden und Empfangen der Clients untereinander nur sehr schlecht implementiert hat. Ob die Fritte nicht doch nur dazu designt ist, Internet "irgendwie" an ihre Clients zu senden, können die Netzwerktechniker unter uns sicherlich besser beschreiben.

Schaut man einmal, was bereits ein wirklich guter kleiner Cisco Access Point kostet, bewegen wir uns hier in einer anderes Sphäre.
 
Ein sehr nützliches Tool, das dir vermutlich mehr Aufschluss über deine LAN Geschwindigkeit und Bandbreite gibt ist iperf. Einfach auf dem Host (dein TP) und im Server (eine beliebige 2. Maschine) installieren und dann mal mit

Code:
iperf -c <deine_ip_vom_server>

laufen lassen. Help zeigt dir wie üblich weitere Optionen an. Du musst ggf. noch den Port in deiner Firewall nachtragen.
 
Moin,

meine Konstellationen sind zwar via ssh, die Geschwindigkeiten mit der Fritte kenne ich aber. Austausch zwei Geräte über WLAN ist eine Katastrophe mit rund 3 MB/S. Wenn dagegen der SSH-Server am LAN- Kabel hängt, erhält der Client die Daten so schnell, wie das WLAN eben liefert. Auch wenn meine Fritte noch eine 7490 mit aktuellem OS 7.60 ist, könnte ein generelles Verhalten vorliegen.

Meine Lösung: Bei größeren Datenmengen rolle ich das 10 Meter LAN- Kabel ab und schließe den 'Server' am Kabel an.
Gerade getestet. Ich habe den Server -der allerdings der Datenempfänger ist- per LAN-Kabel an die FB angeschlossen.
Der Erfolg ist meßbar: die Datenrate steigt von 2MB/s auf 3MB/s. Das sind immerhin 50% Verbesserung, aber immer noch unbrauchbar.

Was mir auffällt: gerade, wenn die vielen kleinen Dateien übertragen werden, bricht die Datenrate massiv ein.
Vielleicht gibt es da einen Verhandlungs-Overhead, der alles ausbremst.

Ein sehr nützliches Tool, das dir vermutlich mehr Aufschluss über deine LAN Geschwindigkeit und Bandbreite gibt ist iperf. Einfach auf dem Host (dein TP) und im Server (eine beliebige 2. Maschine) installieren und dann mal mit
Das probiere ich die Tage mal aus. Danke!

Edith sagt:
Und schon ausprobiert. iperf sagt zwischen 70-110Mbit/s bei nur WLAN ohne Kabel.
Aaaalso, eigentlich sollte der Transfer doch schneller sein.

Und Edith zum zweiten und dritten:
wenn der Server per Kabel an der FB hängt, meldet iperf zwischen 150-190Mbit/s.
Außer, man ändert den Standort des mit WLAN angebundenen Klienten. Dann gehen auf einmal 400Mbit/s.

Nur macht das an der Kopiergeschwindigkeit nichts aus, die nicht über gut 3MB/s hinauskommt.
 
Zuletzt bearbeitet:
Wenn Du Mint hast, koenntest Du noch probieren die Energieverwaltung auszuschalten fuers wlan und iwlwifi zu verbessern.
Musst mal im Netz fuer Mint suchen. Da ich Mint nicht genau kenne.
 
Ich sehe bislang keine Logik daran, dass es sich um ein Linux- Thema handeln muss.
Da die Netzwerkgeschwindigkeit einwandfrei ist, wenn die Fritte nicht von einem weiteren Client über WLAN Daten empfängt, sondern über Kabel angebunden ist, funktioniert das WLAN der Linux- Geräte schon problemlos.

Ich würde das Thema aus der Linux- Ecke herausholen und grundsätzlich die FritzBox für solche Zwecke einmal in Frage stellen.
 
Ich kopiere per Drag and Drop einen Dateibaum mit ca. 10.000 Dateien und 3 GB Größe vom T480 auf das T420.

Problem
Die erreichte Kopiergeschwindigkeit beträgt ca 2MB/s=16MBit/s. Das ist noch nicht mal 10% der theoretisch möglichen Geschwindigkeit und mMn nicht durch Overhead erklärbar.
Doch, es ist Overhead, und zwar vom Dateisystem. Wenn 10.000 Dateien zusammen auf gerade mal 3GB kommen, ist jede Datei im Schnitt nur gut 300KB groß. Das ist ein Performance-Killer. Probier mal, zwischen denselben Maschinen unter denselben Bedingungen ein paar Dateien zu kopieren, die jede für sich ≳100 MB groß sind. Du wirst eine viel höhere Übertragungsgeschwindigkeit beobachten.
Ich habe den Server -der allerdings der Datenempfänger ist- per LAN-Kabel an die FB angeschlossen.
Der Erfolg ist meßbar: die Datenrate steigt von 2MB/s auf 3MB/s. Das sind immerhin 50% Verbesserung, aber immer noch unbrauchbar.
Da hast Du doch eine Bestätigung, dass es nicht am Netzwerk liegt, sondern an den Dateien. Warum glaubst Du es nicht? ;)
tar czf - /Pfad/zu/kopieren/ | nc ZielIP 12345
Hach, die Netcat-Tarpipe 🥰 Eine meiner schönsten Erleuchtungen, seit ich Netzwerk-Dinge mit Linux mache!
 
Ich sehe bislang keine Logik daran, dass es sich um ein Linux- Thema handeln muss.
Da die Netzwerkgeschwindigkeit einwandfrei ist, wenn die Fritte nicht von einem weiteren Client über WLAN Daten empfängt, sondern über Kabel angebunden ist, funktioniert das WLAN der Linux- Geräte schon problemlos.
Klar, das WLAN funktioniert gut. Der Tip mit iperf war sehr hilfreich. Dennoch kommen die Daten langsam auf die Platte.
Es mag aber sein, daß die FB die Daten langsam durchreicht. Weiß ich noch nicht.
Ich würde das Thema aus der Linux- Ecke herausholen und grundsätzlich die FritzBox für solche Zwecke einmal in Frage stellen.
Ich hatte mir schon etwas dabei gedacht, das Thema in der Linux-Ecke zu platzieren.
Es mag ja sein, daß NFS per se eine langsame Sache ist.
Oder daß es bekannte Fehleinträge in der /etc/exports gibt oder Dinge, die man unbedingt beim mount-Befehl beachten muß.
Weiß ich nicht. Ich bin kein Fachmann.

Doch, es ist Overhead, und zwar vom Dateisystem. Wenn 10.000 Dateien zusammen auf gerade mal 3GB kommen, ist jede Datei im Schnitt nur gut 300KB groß. Das ist ein Performance-Killer. Probier mal, zwischen denselben Maschinen unter denselben Bedingungen ein paar Dateien zu kopieren, die jede für sich ≳100 MB groß sind. Du wirst eine viel höhere Übertragungsgeschwindigkeit beobachten.
Es ist mir bekannt, daß sich grundsätzlich viele kleine Dateien weniger schnell kopieren lassen als wenige große. Gilt hier auch.
Aber: wenn ich meinen Dateibaum nicht über NFS sondern über eine USB-Platte überspiele, dann geht es deutlich schneller.
Von daher vermute ich, daß die Geschwindigkeit der Datenbereitstellung eine Rolle spielen muß.
Oder i-welche NFS-Parameter sind suboptimal.

Ich probiere noch mal bissel rum.
 
Hach, die Netcat-Tarpipe 🥰 Eine meiner schönsten Erleuchtungen, seit ich Netzwerk-Dinge mit Linux mache!
Ja, und dann kommt man drauf, dass "z" zu viele Rechenleistung frisst und das Netz nicht gesättigt wird ... NLSU2 läßt grüßen :)
 
Aber: wenn ich meinen Dateibaum nicht über NFS sondern über eine USB-Platte überspiele, dann geht es deutlich schneller.
Von daher vermute ich, daß die Geschwindigkeit der Datenbereitstellung eine Rolle spielen muß.
Oder i-welche NFS-Parameter sind suboptimal.
Okay, das stimmt auch: NFS ist in der Hinsicht besonders ineffizient. Trotzdem ist die Ursache ein Overhead beim Handling der Dateien, und ich würde ein Mittagsessen drauf verwetten, dass die Fritzbox unschuldig ist.

Nach meiner Erfahrung würde ich zwischen zwei Rechnern im Netzwerk für eine Dateiübertragung wie Deine in etwa dieses Ranking der Geschwindigkeiten erwarten:
  1. Netcat-Tarpipe (lass sie in Dein Leben, Du wirst es nicht bereuen! ;))
  2. rsync
  3. NFS/Samba
  4. sftp/scp
 
Wie ist das NFS Filesystem denn gemounted? Und was für ein FS ist es?
async hilft bei NFS oft ungemein...
 
Ah, ein NSLU User, Grüße gehen raus
Beitrag automatisch zusammengeführt:

Man kann in die Tarpipe beidseitig noch ein mbuffer einbauen, rsync über ssh bzw.scp haben den Verschlüsselungsoverhead, aber der Killer sind viele kleine Dateien, auch wenn der Threadersteller das nicht so Recht glauben will.
Die Latenzen der lokalen Filesysteme und des Netzwerks multiplizieren sich
 
Zuletzt bearbeitet:
  • ok1.de
  • IT Refresh - IT Teile & mehr
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben