Einzelner Windows-PC mit 4 internen Festplatten und einer externen Festplatte, die über ein e-SATA-Kabel angeschlossen ist. Mein Motherboard ist das ältere SATA 3, nicht SATA 6.
Ich erlebe völlig unterschiedliche Dateiübertragungsgeschwindigkeiten beim Übertragen von einer internen Festplatte auf eine andere oder vom internen auf ein externes e-SATA-Laufwerk.
Beispiel: Beim Sichern einer einzelnen großen Datei auf der externen Festplatte erreichte ich sehr langsame 16 bis 24 MB/s. Etwas später wurde eine weitere größere einzelne Datei (ein Linux-ISO) auf die externe Festplatte übertragen und es lief mit 125 MB/s. Manchmal erreichte ich 55 MB/s, manchmal 90 MB/s.
Ich verstehe, dass die Datenübertragungsrate durch die Sammlung vieler kleiner Dateien verlangsamt werden kann, aber was ist der Grund für die enorme Abweichung (fast 8-fach) bei der Verarbeitung dieser einzelnen großen Dateien?
Antwort1
Dies liegt an der Funktionsweise einer physischen Festplatte. Wenn Daten auf die Festplatte geschrieben werden, speichert die Partitionstabelle für jede Datei, wo die Daten gespeichert sind.
Das geht folgendermaßen: Es sucht den ersten freien Platz und beginnt dort zu schreiben. Wenn die Datei größer als dieser Platz ist, hört es dort auf zu schreiben und vermerkt in der Partitionstabelle, wo ein Teil dieser Datei gespeichert ist. Dann sucht es nach dem nächsten freien Platz und beginnt dort zu schreiben. Auf diese Weise wird Ihre Festplatte fragmentiert. NTFS verfügt über Techniken, um die Fragmentierung zu verringern, aber die Fragmentierung wird trotzdem bestehen bleiben.
Aus diesem Grund führt das Nachschlagen großer Dateien wahrscheinlich dazu, dass der Lesekopf Ihrer Festplatte überall hin wandert, da er überall auf die Datei zugreifen muss, was den Lesevorgang verlangsamt.
EDIT: Außerdem habe ich vergessen zu erwähnen, dass beim Entfernen einer Datei der freie Speicherplatz nicht neu geordnet, sondern nur als freier Speicherplatz gekennzeichnet wird. Das Löschen kleiner Dateien erzeugt also kleine Lücken, in die große Dateien geschrieben werden. NTFS versucht, dies so weit wie möglich zu minimieren, aber insbesondere bei wirklich großen Dateien ist dies nicht immer möglich.