Warum erreichen Windows-Datentransfergeschwindigkeiten eine Geschwindigkeit von etwa 1,5 Gigabyte / Sekunde?

535
Matt

Mir ist aufgefallen, dass auf derselben Maschine Dateien zwischen einem schnellen nvme m.2 ssd (allgemeine Lesegeschwindigkeit 3,2 GB / s und 2,7 GB / s) und einem RAM-Datenträger bei etwa 1,4-1,5 GB / s übertragen werden. Warum ist das so? Ich führe Windows 10 Pro Workstation als Betriebssystem aus und deaktiviere alle Firewalls, Virenscanner oder andere Overheads. Die Laufwerke setzen sowohl für Lese- als auch für Schreibvorgänge jeweils einen Benchmark von über 2,5 GB / s. Warum ist eine Windows-Dateiübertragung einer einzelnen großen Datei mit etwa 1,5 GB / s begrenzt? Ich bewerte nur die sequentielle Lese- und Schreibleistung. Gibt es in Windows 10 eine Obergrenze für Dateiübertragungen?

1
Jeder Puffer in der Übertragung muss sowohl gelesen als auch geschrieben sein. Sie sollten also höchstens die Hälfte der durchschnittlichen Lese- und Schreibgeschwindigkeit erwarten. AFH vor 5 Jahren 2
Weitere Einschränkungen sind: Busgeschwindigkeit, Treibergeschwindigkeit, Speichergeschwindigkeit, CPU-Geschwindigkeit (Interruptbefehle sind langsam). Alles in allem ist es sehr kompliziert, die tatsächliche Obergrenze zu berechnen. harrymc vor 5 Jahren 0
@AFH: Das Schreiben erfolgt in den Speicher, also sollte es theoretisch viel schneller sein. harrymc vor 5 Jahren 0
Welches Dateisystem wird für Quelle und Ziel verwendet? Die Verwendung von NTFS oder FAT32 kann aufgrund des NTFS-Journals einen wesentlichen Unterschied darstellen. Und mit welchem ​​Werkzeug wird die Kopie erstellt? ZB Windows-eigener Datei-Explorer ist notorisch langsam. Tonny vor 5 Jahren 0
Entschuldigung, ich habe Ihre Frage falsch verstanden. Versuchen Sie, von der SSD- und der RAM-Disc nach `NUL:` zu kopieren. Dadurch erhalten Sie eine Vorstellung von dem Systemaufwand. AFH vor 5 Jahren 1
@AFH, das kann nicht der Engpass sein. Ich habe tatsächlich eine RAID-0-Nvme-Config, die eine Lesegeschwindigkeit von über 10 Gigabyte pro Sekunde hat und ich auch gleich schnell auf RAM-Disk schreiben kann. Die Dateiübertragung mit Windows-Dateiexplorer ist immer noch mit etwa 1,5 GB / s möglich. Matt vor 5 Jahren 0
@ harrymc, ich habe alle Rohdaten von ssd (eigentlich Raid 0-Setup wie oben erwähnt) und RAM-Disk erstellt. Lese- und Schreibvorgänge liegen deutlich über 8 Gigabyte pro Sekunde. Mit der Datei-Explorer-Dateiübertragung von Windows 10 ist definitiv etwas anderes los. Matt vor 5 Jahren 0
@Tonny, ich habe beide mit NTFS formatiert. Aber auch Fat32 ausprobiert. Kein großer Unterschied. OS yes Windows 10 File Explorer erscheint langsam, was meine Frage aufforderte. Meine Aufgabe ist es, herauszufinden, warum. Matt vor 5 Jahren 0
Kopieren Sie eine große Datei oder viele kleine Dateien? Wenn der erstere, versuchen Sie `xcopy / J`; Wenn letztere auf das Verzeichnis zugreift, werden die Dinge sehr verlangsamt. Und ich kann mir nicht vorstellen, welche Schnittstellen Sie für diese Leistungsdaten verwenden (ich nehme an, Sie meinen ** Gb / s **): SATA ist auf 6 Gb / s beschränkt (http://www.tested.com/tech) / pcs / 457172-warum-Speicher-Laufwerk-Geschwindigkeiten-nicht-schlagen-ihre theoretischen Grenzen /). AFH vor 5 Jahren 0
Windows Explorer ist bekanntermaßen langsam. Versuchen Sie es mit cmd mit Robocopy oder TeraCopy. harrymc vor 5 Jahren 0
@AFH, ich meinte Gigabytes. Ich führe einen Raid 0 von 4 Evo 970 aus, der jeweils 4 PC-Bahnen erhält. Die Platten sind nicht sata, ich dachte, das war aus dem Inhalt meiner Frage ersichtlich. Die unlesbare Leseleistung mit dem berüchtigten Benchmark-Tool von Intels führt zu Zahlen von über 10 Gigabyte pro Sekunde und über 7 Gigabyte pro Sekunde. Ich mache eine einzelne Datei. Matt vor 5 Jahren 0
@ harrymc, meine ganze Frage dreht sich darum, warum das Kopieren von Windows Explorer-Dateien langsam ist. Ich werde eine Kopie / Xcopy versuchen, wie von AFH vorgeschlagen. Matt vor 5 Jahren 0
TeraCopy und Robocopy sind schneller. Das schnellste Programm zum Kopieren von Dateien ist das kostenlose [FastCopy] (https://fastcopy.jp/de/). harrymc vor 5 Jahren 0
@ harrymc, externe Transfer-Apps sind für mich keine Option. Ich muss herausfinden, warum Windows 10-Datei-Explorer-Kopien so unglaublich langsam sind. Die Verwendung von Windows Explorer-Dateikopien auf Windows Server 2016 wurde nicht eingeschränkt. Hier gibt es noch etwas anderes und es scheint, dass auch bisher niemand weiß, warum. Matt vor 5 Jahren 0
Ich vermeide es seit vielen Jahren, mit Windows Explorer nicht triviales Kopieren durchzuführen. Es ist langsam und seit mindestens einem Jahrzehnt langsam. Aus diesem Grund verwenden ich und andere Drittanbieter-Apps. Robocopy ist zumindest Teil von Windows, wenn es hilft. FastCopy ist der einzige, von dem ich weiß, dass er parallel lesen und schreiben will. harrymc vor 5 Jahren 0
@ harrymc, einige Erkenntnisse: copy / xcopy ist genauso langsam / schnell wie das Kopieren über den Windows Explorer. TeraCopy und sogar FastCopy sind 2,5x-3x langsamer. 3 Dateien mit je 10 GB, die von nvme raid0 auf die RAM-Disk auf demselben Computer kopiert wurden, benötigten 18 Sekunden für das Kopieren über copy / xcopy / windows-file-explorer. Teracopy und Fastcopy dauerten fast 60 Sekunden. Matt vor 5 Jahren 0
Korrektur: FastCopy war tatsächlich schneller und dauerte nur 8,5 Sekunden = 3,5 GB / Sekunde. Alle anderen von mir getesteten Add-Ons waren viel langsamer als der Windows Explorer. Leider erklären all diese Tests nicht, warum das Kopieren einzelner Threads so eingeschränkt ist. Die meisten Leute beschweren sich möglicherweise nicht über Übertragungsraten von 1,5 GB / Sekunde, aber es ist äußerst frustrierend, wenn Sie ein 100-Gbit-Netzwerk betreiben und Datenübertragungen von einem nvme m.2 raid0-Cluster mit Lesegeschwindigkeiten von über 10 GB / Sekunde benötigen. Ich bin fast versucht, die ssd-Treiber unter Linux an eine VM zu übergeben. Matt vor 5 Jahren 0
Multithread-Kopien erhöhen die Leistung auf etwa 5,8 GB / Sekunde. Das bedeutet, dass alle Hardwarekomponenten wie erwartet funktionieren. Das lässt mich im Moment glauben, dass die Windows Explorer-Datenpuffer und die zugehörigen Parameter statisch sind und sich nicht für extrem schnelle Hardwareressourcen eignen. Matt vor 5 Jahren 0
Ich habe Ihre Ergebnisse unten zusammengefasst. Fühlen Sie sich frei, meine Antwort zu bearbeiten, wenn Sie möchten. harrymc vor 5 Jahren 0

1 Antwort auf die Frage

1
harrymc

Zusammenfassung der Kommentare zum Post und der Ergebnisse der durch das Poster durchgeführten Tests:

  • Es wurde festgestellt, dass alle Kopierprogramme mit etwa derselben Geschwindigkeit arbeiten: Windows Explorer, Kopieren, XCopy, Robocopy, TeraCopy.

  • Das einzige Dienstprogramm, das die obere Lesegeschwindigkeit der Festplatte erreichte, war FastCopy.

Das FastCopy-Dienstprogramm unterscheidet sich dadurch, dass Lese- und Schreibvorgänge parallel ausgeführt werden und der Windows-Cache nicht zum Verschieben von Daten verwendet wird.

Die Schlussfolgerung ist daher, dass die Langsamkeit beim Kopieren von Dateien bei Verwendung der standardmäßigen Windows-Mechanismen auf Folgendes zurückzuführen ist:

  • Fehlende Parallelität, so dass das Lesen beim Schreiben unterbrochen wird
  • Inhärente Ineffizienz des Cache-Mechanismus von Windows.

Das Problem der langsamen Dateikopie besteht seit sehr langer Zeit in Windows und in sehr frühen Windows-Versionen. Die obigen Ergebnisse könnten auch erklären, warum Linux bei Festplattenoperationen angeblich effizienter ist als Windows.

mit allem Respekt, aber dies ist ein offensichtliches Plagiat und darüber hinaus völlig falsch geschlossen. Robocopy kann mehrere Threads kopieren. Auch kommen Ihre Schlussfolgerungen nirgends näher, als die Frage zu beantworten. "Windows-langsame Dateikopien gibt es schon lange", also ... warum sollten Sie sich die Mühe machen? Ist das deine ehrliche Schlussfolgerung? Wie haben Sie 229.000 Wiederholungen gesammelt? Unglaublich. Matt vor 5 Jahren 0
Nachdem ich Ihre Antwort noch einmal durchgelesen hatte, entschied ich mich dazu, Ihre Antwort abzustimmen. Ich stelle im Allgemeinen keine Antworten auf meine Fragen herab. Aber in diesem Fall ... haben Sie Ihre Antwort noch einmal durchgelesen? Linux ist aufgrund der obigen Ergebnisse effizienter? Wäre es nicht besser, sich nur an Fragen zu beteiligen, für die man einige Expertise beanspruchen kann? Ich bin einer der am besten bewerteten Teilnehmer im Quant Finance-Forum von StackExchange, aber ich würde mich nie trauen, mich Themen zu widmen, von denen ich behaupte, dass sie sie nicht kennen. Ich denke, Sie würden sich einen großen Dienst leisten, wenn Sie Ihre Antwort hier insgesamt löschen ... Matt vor 5 Jahren 0
Ich versuche Windows Explorer in jeder neuen Version von Windows, und diese sind immer langsam - persönliche Erfahrung zählt für etwas. Linux ist schneller in der Dateiverwaltung - meine persönliche Erfahrung und die vieler Rechenzentren. Plagiat von was? Ich habe Ihre Ergebnisse nicht sorgfältig zitiert, sondern nur meine Vorschläge. Um Sie zu erinnern - Ihre Ergebnisse * waren * aufgrund meiner Vorschläge und ich danke Ihnen, dass Sie meine Überzeugungen und meine Erfahrung hier quantitativ überprüft haben. Für Multithreading in Robocopy - es läuft immer noch durch den Windows-Cache, ist also offensichtlich langsamer. harrymc vor 5 Jahren 1
Auf dieser Site kommt es häufig vor, dass ich mit dem Poster eine Allee erkunde, und wir kommen gemeinsam zu einer Erklärung oder Lösung. Dann wird ich normalerweise das Poster bitten, die Ergebnisse zusammenzufassen, was ich hier gemacht habe. So bekomme ich viel von meinem Ruf. Natürlich ist dies nicht Ihr Stil, aber seien Sie bitte vernünftiger. harrymc vor 5 Jahren 1
Hinweis: Wenn Sie Ihre numerischen Ergebnisse zu meiner Antwort hinzufügen möchten, tun Sie dies bitte, oder Sie erlauben mir, dies zu tun. Wenn nicht, dann kein Problem. harrymc vor 5 Jahren 1
Ihr Beitrag beantwortet die gestellte Frage nicht. Es wiederholt nur das, was ich bereits gesagt habe. Ich fragte, warum Windows Explorer-Dateiübertragungen langsam sind. Starrend, dass sie schon immer langsam waren, beantwortet die Frage nicht. Wenn Sie mögliche Engpässe im Datenfluss zwischen PC-Geräten und Arbeitsspeicher oder Engpässe beim Durchleiten von Daten durch die CPU besprachen oder auf mögliche Lösungen wie smb direct / rmda hingewiesen haben, würde Ihre Antwort einen Mehrwert ergeben. So wie es aussieht, klärt es nicht auf, klärt nicht, bietet keine Lösungen an oder bietet andere Rechtsmittel an. Genug gesagt. Matt vor 5 Jahren 0
Edit: Gemeint SMB direkt / RDMA Matt vor 5 Jahren 0
Ich verstehe, dass dies nicht Ihre Art von Antwort ist. Sie wollten einen theoretischen Diskurs und eine Analyse, aber leider gibt es hier keine Engpässe bei PC-Geräten, Speicher oder CPU, da solche allgemeinen Einschränkungen auch für FastCopy gelten würden. Vor einiger Zeit habe ich die Quelle von FastCopy untersucht und festgestellt, dass es keine Zaubertricks gibt, keinen direkten Zugriff auf Hardware, nur Aufrufe der Windows-Standard-API. Die Geschwindigkeit wird durch das Vermeiden des Caches und durch paralleles Lesen und Schreiben mithilfe der Windows-API niedrigerer Ebene erreicht. Was ist noch über schlechte Programmierung in Windows-Cache und -Treibern zu sagen? harrymc vor 5 Jahren 1