Netzwerkübertragung Dateien?
Bei Übertragung vieler Dateien kommt es ha zur Verzögerung. Unter anderem, weil ja für jede Datei Pfade erstellt werden, etc.. Übertrage ich hingegen eine Datei, die so groß ist, wie alle anderen zusammen, wird das schneller gehen.
Ich sagte unserem Netzwerker: Dann füge doch eine Regel zur Übertragung kleiner Dateien ein. Und lass entpacken, wenn die vorher gezippten am Ziel ankommen. In einem IT-Forum hier es das geht.
Unser Netzwerker meint, das geht nicht. Aber ehrlich gesagt bin ich nicht der Einzige, der die Meinung hat, das der ein Fehlgriff ist. Es ist also nicht auszuschließen, dass er auch hier nicht recht hat wegen diverser themen in der Vergangenheit.
Also was meint ihr. Geht das oder nicht? Nutze ich ein kleines Python-Skript, was genau das tut und messe die Zeit, bestätige ich meine Aussage. Also wieso sollte es keine Einstellung geben, die das nicht möglich macht, bei Übertragung von Dateien innerhalb einer Domäne? Wie ginge das?
Kennst du da ein vielleicht sogar typische Sache, die hier angewendet wird und wie heißt das?
4 Antworten
Das hängt davon ab, wer (welches Progrämmchen) für die Versendung der Dateien zuständig ist und inwieweit man in die Netzwerk-Stacks der Benutzer eingreifen kann.
Wenn jeder Computer einzeln an einem für alle gemeinsamen Netzwerk hängt und niemand vorschreiben darf, dass mehrere gleichzeitig gesendete Dateien zusammengefasst werden sollen, hat man da keine Chance.
Ansonsten gibt es etliche Möglichkeiten, so was "transparent" (von außen sieht alles so aus wie vorher, bis darauf, dass es schneller/zuverlässiger/... geht) zu automatisieren. Da ich auf diesem Spezialgebiet kein Fachmann bin, müsste ich für Einzelheiten ebenso recherchieren wie fast alle hier.
Das Netzwerk wird hier nicht der begrenzende Faktor sein.
Dass der Overhead durch die Übertragung von Meta-Informationen auf dem Netzwerk steigt, ist klar.
Jedoch der Aufwand auf Client- bzw. Server-Seite durch die von Dir vorgeschlagene Methode größer den je. Und Seek-/Read-/Write-Operationen im Dateisystem - von denen es dann mehr als vorher gibt - kosten wahrscheinlich mehr Zeit als der geringere Overhead auf Netzwerk-Seite einspart.
Um größere Dateimengen effizient von A nach B übers Netzwerk - auch gepackt - zu übertragen sind Standard-Tools wie 'rsync' (hier bereits erwähnt) schon seit vielen Jahren erfunden.
Sollten die Übertragung natürlich nur mit Bordmitteln - wie SMB-Fileshares - erfolgen, ist es klar, dass das vielleicht nicht so 100%ig effizient abläuft.
Das ist nicht Sache des Netzwerkers, sondern Sache der Anwender.
Das bringt sogar bei 5000 Leuten was. Wenn du deine Daten vor der Übertragung packen willst, dann mach das halt. Oder verwende ein Protokoll, das gut zu Übertragung von Dateien geeignet ist, wie z.B rsync. Aber was soll bitte schön der Netzwerker damit zu tun haben?
Verglichen mit großen Dateien sind die Transferraten bei vielen kleinen Dateien ganz einfach dramatisch klein. Das ist Stand der Technik und lässt sich leider auch nicht großartig beeinflussen.
Ob sich eine Anzahl von Dateien sinnvoll packen und danach übertragen lässt, das hängt im wesentlichen von der Anwendung ab. Das kann man prinzipiell mit jedem Betriebssystem und jeder Skriptsprache machen und dabei einen der Standard Packer verwenden. Dabei muss man irgendwie einen Mittelweg zwischen Komprimierungsrate und Komprimierungsgeschwindigkeit treffen. Ohne eine Kenntnis der Anwendungsfälle kann man dazu aber nicht viel mehr sagen.
Es kommt ganz drauf an was du GENAU vor hast. Du willst Dateien von einem System auf ein anderes übertragen? Dann installiere auf beiden Seiten ein entsprechendes Tool was die Daten packen und wieder entpacken kann. Sowas kann man aber nicht universell für alles einfach einschalten in einer Domäne (von was für einer Domäne redest du denn? AD?)
Abgesehen davon das das net gefragt ist bringt dir so eine antwort bei 500 leuten null.