mitchell
Goto Top

Archivdatei vs. Geschwindigkeit Datenübertragung

Hi,

es geht hier um kein Problem an sich, sondern um eine Verständnisfrage. Habe es nun mit mehreren Kollegen diskutiert und scheinbar stehen wir alle auf dem Schlauch.
Ich ziehe ein Backup von der internen SSD (A) auf die externe Festplatte (B). Als Beispiel nehmen wir einen Ordner mit 500 Bildern, je 1 MB.

Kopieren des Ordners von A nach B dauert eine Minute bei einer Übertragungsrate von ca. 100 MB/sec

Nun archiviere ich den Ordner auf A und schiebe ihn abermals auf B, die Übertragungsrate beträgt nun ca. 400 MB/sec

Soweit klar bzw. in meinem Verständnis:
500 Einzeldateien brauchen länger als eine einzige Datei, das Archiv halt.

Beide Kopiervorgänge benötigen bis zum Abschluss eine Minute, warum ist das so? Ich würde es verstehen, wenn auf B entweder gepackt oder entpackt wird, aber das ist ja nicht der Fall. Kann mir jemand die Antwort geben bzw. einen guten Denkanstoß?

Danke ich Voraus.

Mfg
Mitchell

Content-ID: 597837

Url: https://administrator.de/contentid/597837

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

Lochkartenstanzer
Lochkartenstanzer 20.08.2020 aktualisiert um 17:30:25 Uhr
Goto Top
Zitat von @Mitchell:

Kopieren des Ordners von A nach B dauert eine Minute bei einer Übertragungsrate von ca. 100 MB/sec

Nun archiviere ich den Ordner auf A und schiebe ihn abermals auf B, die Übertragungsrate beträgt nun ca. 400 MB/sec

Beide Kopiervorgänge benötigen bis zum Abschluss eine Minute, warum ist das so?


Es gibt den bekannten Spruch:

Wer mißt, mißt Mist.

Wie mißt Du denn?

lks
certifiedit.net
certifiedit.net 20.08.2020 aktualisiert um 17:34:52 Uhr
Goto Top
Also Nach Adam Riese

500 Bilder x 1MB = 500MB

Kopiere Ordner von A nach B braucht 60 sek (1 min!), hat eine Geschwindigkeit von 100MB/s (!) -> 60(sek)*100MB/(sek) = 6000MB = 6GB, wie kann das bei 100MB/s 60 sek dauern 500MB zu kopieren?

Bist du
a) betrunken
b) be....
c) Sonnenstich?
[aus pol. Gründen zensuriert d) c...infiziert?]

Mit Mbit/s wärst du zwar näher dran, aber trotzdem noch eine Differenz von 1/3.

Grüße
Mitchell
Mitchell 24.08.2020 aktualisiert um 14:28:43 Uhr
Goto Top
Muahahaha, beide Kommentare habe ich erwartet. Ihr habt ja auch Recht, es ging mir eigentlich nur um's Prinzip und nicht um die tatsächlichen Zahlen. Aber ok, nochmal und diesmal richtig:

500 Bilder, Einzelbild = 5,41 MB = 2,64 GB gesamt (unten siehst du auch, warum die Zahl aufkommt ^^)
Übertragungsgeschwindigkeit = schwankend, 70 - 100 MB/sek, im Schnitt 79,8 MB/sek (warum MB? Weil Windowsexplorer :-P, nimm ruhig die korrekte Form)
Dauer = 39,8 sek
Messung ganz banal über Explorer (der supertolle Windowsexplorer, aber auch Totalcommander), Robocopy und nebenher einfach mal die Stoppuhr laufen lassen.

Archiv = 2,71 GB
Übertragungsgeschwindigkeit = schwankend face-smile, im Schnitt 225 MB/sek
Dauer und Messverfahren bleiben gleich.

@certifiedit
a) nope
b) kommt eher hin
c) nope
d) ach komm, hau raus

@Lochkartenstanzer
Rächtschreipfeler :-P

Mfg
Mitchell
Lochkartenstanzer
Lochkartenstanzer 24.08.2020 um 14:25:54 Uhr
Goto Top
Zitat von @Mitchell:

@Lochkartenstanzer
Rächtschreipfeler :-P

Bin ich bekannt dafür. face-smile

lks
Mitchell
Mitchell 24.08.2020 um 14:29:20 Uhr
Goto Top
Weiß ich face-smile

Mfg
Mitchell
Lochkartenstanzer
Lochkartenstanzer 24.08.2020 aktualisiert um 14:57:57 Uhr
Goto Top
Zitat von @Mitchell:

Muahahaha, beide Kommentare habe ich erwartet. Ihr habt ja auch Recht, es ging mir eigentlich nur um's Prinzip und nicht um die tatsächlichen Zahlen. Aber ok, nochmal und diesmal richtig:

500 Bilder, Einzelbild = 5,41 MB = 2,64 GB gesamt (unten siehst du auch, warum die Zahl aufkommt ^^)
Übertragungsgeschwindigkeit = schwankend, 70 - 100 MB/sek, im Schnitt 79,8 MB/sek (warum MB? Weil Windowsexplorer :-P, nimm ruhig die korrekte Form)
Dauer = 39,8 sek
Messung ganz banal über Explorer (der supertolle Windowsexplorer, aber auch Totalcommander), Robocopy und nebenher einfach mal die Stoppuhr laufen lassen.

Archiv = 2,71 GB
Übertragungsgeschwindigkeit = schwankend face-smile, im Schnitt 225 MB/sek
Dauer und Messverfahren bleiben gleich.

Hallo mitchell,

Du hast 500 relativ große Dateien (5MB sind groß, auch wenn heutzutage andere Größen als groß angesehen werden). Da ist der Overhead recht klein. Damit erklärt es sich, warum die Gesamtdauer insgesamt fast gleich bleibt. Denn 500 mal einige wenige Millisekunden ergeben nur ein bis 2 Sekunden und das ist "mit der Handstoppuhr" im Rahmen des Meßfehlers, insbesondere weil es beim Explorer oder Totalkcommander keinen definierten Punkt gibt, an den man "abdrücken" kann wie bei einer Ziellinie. Da gibt es also gefühlt keinen Unterschied. Versuch das Ganze mal mit 500000 Dateien die nur 5kB groß sind. Gleiche Datenmenge, aber wesentlich mehr Dateien. Die Millisekunde Overhead wirkt sich da statt 500-fach 500000-fach aus und schon hast Du 500Sekunden statt nur einer halben Sekunde Unterschied.

Der andere Punkt sind natürlich die "Meßwerte" in MB/s, die Dir Windows anzeigt. Da kommt wieder der Punkt mit dem Mist messen ins Spiel. Wie jeder von uns weiß, lügt Windows oft, oder rechnet auch oft falsch. Die Werte die da angezeigt werden sind gemittelte Werte und je nachdem, welches Verfahren die nehmen, habe ich manchmal das Gefühl, daß die total daneben liegen. Deswegen ist das einzig sichere Verfahren außer einen speziellen Meßprogramm das "Handmeßverfahren", das die Gesamtdatenmenge durch die per Hand gemessene Zeit zu dividieren um die Datenübertragungsrate zu bestimmen.

Im Endeffekt ist es so, daß die Unterschiede im "Dateikopieren" zwischen vielen kleinen Dateien und einigen Großen Dateien nur wenig von der Datenübertragungsrate des Mediums abhängig sind (HDD/SSD fast gar nicht, Ethernet ein klein wenig mehr, CIFS, noch etwas mehr), sondern von den "Wechseln" zwischen den Dateien, d.h. die "mittlere Zugriffszeit" ist das Ausschlaggebende. Bei SSDs ist die Zugriffszeit selten größer als eine Millisekunde/Block, so daß sich die (per Hand) meßbaren Unterschiede erst bei vielen tausend Dateien ergeben. Ergo hast Du bei Deiner Messung diese Grenze gar nicht erreicht. Du hast Dich nur von Windows irritieren lassen, das Dir irgendwelche Fantasiewerte zeigt.

Ich hoffe, ich habe ein klein wenig Licht in das Dunkel bringen können. face-smile

lks

PS: Wie Du siehst, bekommst Du eine deutlich bessere Antwort, wenn Du die Frage "richtig" stellst, und insbesodnere demn Punkt

  • Eine kurze Beschreibung mit allen signifikanten und benötigten Informationen.

beachtest. face-smile
Mitchell
Mitchell 25.08.2020 um 22:05:11 Uhr
Goto Top
Hi Lochkartenstanzer,

ich arbeite mich mal von unten nach oben:

Wenn du auf mein Profil klickst, wirst du sehen, dass ich "wie man eine Frage richtig stellt" auch schon sehr oft verlinkt habe. Und bevor wir uns daraus eine Flamerei machen...deine Antwort wäre auch ohne korrekte Zahlen gut gekommen face-smile. Aber wie gesagt, ihr habt ja recht damit. Ich hatte nur an dem Abend einfach keine Zahlen mehr im Kopf und dachte, die Intension wäre auch so klar. Passt so

BtT:
Erstmal vielen Dank für die Erklärung, "LEIDER" sind mir die Verhältnisse klar und auch auf Windows hatte ich mich nie verlassen. Ich versuche es deshalb mal andersrum, da es mir auf keine Messergebnisse ankommt und ich das Spiel auch schon mit 10000 Dateien durch habe...gleiches Verhalten (und ich denke, das will mir nicht in den Kopf):
Wieso verhalten sich - beim Verschieben - mehrere kleine Dateien so, wie eine große Datei?

Vielleicht hilft es dir, wenn ich meine (wohl falsche) Denkweise preisgebe face-big-smile:
User gibt Befehl: "verschiebe Dateien von A nach B, bitte 500x"
PC ließt 1. Datei von A, schiebt zu B und geht weiter zur nächsten. Ganz grob ist das ein Zyklus, Lesen und Schreiben.
Dies passiert also nun 500x = "grob" 500 Zyklen.

Nun mache ich das Gleiche mit einem Archiv, welches die Dateien beinhaltet.
PC ließt Datei von A, schieb zu B und...das war's auch schon, es gibt ja nur die eine = "grob" ein Zyklus.

Wenn ich so heran gehe, ist mir die Übertragungsgeschwindigkeit wie auch die Differenz (ob sie stimmt oder nicht) völlig klar und es wäre auch logisch. Klar, die Werte sind falsch...aber prinzipiell muss eine Datei den touch-Befehl schneller handhaben können als mehrere.

Wo biege ich gedanklich falsch ab?

Mfg
Mitchell

PS: Ein Kaffee ist dir schon mal sicher, du darfst gerne aufstocken
Lochkartenstanzer
Lochkartenstanzer 25.08.2020 um 22:18:50 Uhr
Goto Top
Zitat von @Mitchell:

Hi Lochkartenstanzer,

ich arbeite mich mal von unten nach oben:

Wenn du auf mein Profil klickst, wirst du sehen, dass ich "wie man eine Frage richtig stellt" auch schon sehr oft verlinkt habe. Und bevor wir uns daraus eine Flamerei machen...deine Antwort wäre auch ohne korrekte Zahlen gut gekommen face-smile.

Das weiß ich doch. War nur als kleine Stichelei gedacht. face-smile


Aber wie gesagt, ihr habt ja recht damit. Ich hatte nur an dem Abend einfach keine Zahlen mehr im Kopf und dachte, die Intension wäre auch so klar. Passt so
BtT:
Erstmal vielen Dank für die Erklärung, "LEIDER" sind mir die Verhältnisse klar und auch auf Windows hatte ich mich nie verlassen. Ich versuche es deshalb mal andersrum, da es mir auf keine Messergebnisse ankommt und ich das Spiel auch schon mit 10000 Dateien durch habe...gleiches Verhalten (und ich denke, das will mir nicht in den Kopf):
Wieso verhalten sich - beim Verschieben - mehrere kleine Dateien so, wie eine große Datei?

Vielleicht hilft es dir, wenn ich meine (wohl falsche) Denkweise preisgebe face-big-smile:
User gibt Befehl: "verschiebe Dateien von A nach B, bitte 500x"

Auf dem gleichen Volume oder über Volumegrenzen hinweg? Auf dem gleuchen Volume ist es nur ein "umhängen der Inodes" ohne echtes bewegen der Daten. Auch vershiedenen Volumes ist es "Kopieren mit anschließendem Löschen des Originals".

Welche Variante machst Du?

PC ließt 1. Datei von A, schiebt zu B und geht weiter zur nächsten. Ganz grob ist das ein Zyklus, Lesen und Schreiben.
Dies passiert also nun 500x = "grob" 500 Zyklen.

Nun mache ich das Gleiche mit einem Archiv, welches die Dateien beinhaltet.
PC ließt Datei von A, schieb zu B und...das war's auch schon, es gibt ja nur die eine = "grob" ein Zyklus.

Wie gesagt, auf dem gleichen Volume oder über Volumegrenzen hinweg?


Wenn ich so heran gehe, ist mir die Übertragungsgeschwindigkeit wie auch die Differenz (ob sie stimmt oder nicht) völlig klar und es wäre auch logisch. Klar, die Werte sind falsch...aber prinzipiell muss eine Datei den touch-Befehl schneller handhaben können als mehrere.

Wo biege ich gedanklich falsch ab?

Wie gesagt: Ist es üebr Volumegrenzen hinweg oder innerhalb eines Volumes? Innerhalb eines Volumes müßte es "sofort" gehen, über Volumegrenzen hinweg etwas länger.

Ich versuche das mal nachzustellen und melde mich nochmal.

PS: Ein Kaffee ist dir schon mal sicher, du darfst gerne aufstocken

Danke.
Lochkartenstanzer
Lochkartenstanzer 26.08.2020, aktualisiert am 27.08.2020 um 23:03:12 Uhr
Goto Top
Zitat von @Lochkartenstanzer:

Ich versuche das mal nachzustellen und melde mich nochmal.

Also ich habe in einer Win10-VM folgendes Setup aufgestellt:

  • Zwei Volumes à 20GB erzeugt.
  • Eine Datei mit 2,5GB erzeugt.
  • Ein Verzeichnis mit 512 Dateien a 5MB erzeugt (auch 2,5GB)
  • Ein Verzeichnis mit 512 Verzeichnissen à 1024 Dateien à 5KB erzeugt.

Zwei Tests.

  • Verschieben innerhalb des Volumes

Innerhalb nicht meßbarer Zeit.


Verschieben von Volume A nach Volume B

  • 2,5GB-Datei in 20Sekunden
  • 5MB-Dateien in 60 Sekunden
  • 5KB-Dateien haben allein zum "Vorbereiten" 4 Minuten gebraucht. Zum Verschieben meinte Windows 3 Stunden zu benötigen, und nachdem das nach 15 Minuten nicht weniger wurde, habe ich abgebrochen.

Also ich kann Deine Messungen nicht nachvollziehen.

lks

Edit: Diverse Tapp- und Kommafehler rausgemacht.
Mitchell
Mitchell 27.08.2020 um 22:55:44 Uhr
Goto Top
Das weiß ich doch. War nur als kleine Stichelei gedacht.

Weiß ich doch ^^

Um deine große Frage zu beantworten: volumeübergreifend

Zu deinem Test:
Hm...weird. Die 5 MB Dateien 60 Sekunden und als Archiv (25 GB) in 20 Sekunden?
5 KB muss ich selber testen, meine hatten 500. Aber auch hier werde ich das Ergebnis nachschieben.

Mfg
Mitchell
NetzwerkDude
NetzwerkDude 28.08.2020 um 10:28:45 Uhr
Goto Top
Hallo Mitchell,

Meine Theorie: Dissonanz face-smile

Da Win10 standardmäßig write-cache auf allen Laufwerken aktiviert, nutzt er es auch.
d.h. mit dem Cache dauert der transfer immer gleichlang, da es ja via Cache im RAM gemacht wird.

Die angezeigte Geschwindigkeit ist aber die echte Festplattengeschwindigkeit.

lks konnte es nicht nachstellen da die VM (vermutlich) zumwenig RAM hat und Windows einfach mal nicht cached.

Ich kenne die grenze leider nicht bei W10 ab wann und / wie / warum er den cache nutzt, bei Linux kann man sich aber austoben face-smile
Siehe Antwort hier:
https://unix.stackexchange.com/questions/30286/can-i-configure-my-linux- ...

Ohne direkt die parameter zu bearbeiten aktivieren die meisten Linux distros filesystemcaching im großen stil aktuell bei etwa 16GB RAM, davor wird nur sehr wenig gecached.
Wenn sich W10 genauso verhält, würde ich das mal testen mit einer Maschine mit sehr wenig RAM und einer mit sehr viel RAM
Schätze mal mit wenig RAM = ergebnisse wie bei lks, bei viel RAM = ergebnisse wie bei dir.

Aber das nur eine Theorie, bin bei WIndows nicht so drin im Thema Disk / File Cache bla.

MFG
N-Dude
Mitchell
Mitchell 28.08.2020 um 15:16:17 Uhr
Goto Top
Es spielen ja immer mehrere Faktoren eine Rolle, aber mal für die VM bzgl. Nachstellung:

Win7 64Bit
16 GB RAM
SSD (hier kann man natürlich gar nichts konkret nachstellen...Hersteller, Controller, genaue Auslastung, etc.)

Mfg
Mitchell