Warum bildet die Kopiergeschwindigkeit meiner Netzwerkdatei eine Welle?

16

Mit dem Upgrade auf Windows 10 habe ich jetzt diese schöne Grafik beim Kopieren von Dateien.

Wenn ich eine einzelne große Datei kopiere, nimmt die Geschwindigkeit immer diese einigermaßen konsistente Wellenform an. Wodurch wird das verursacht?

Die Verbindung ist

My PC <- cable -> gigabit switch <- cable -> Netgear ReadyNAS

Dateien werden über SMB kopiert. Diese Grafik zeigt eine solche Kopie über einen Zeitraum von etwa einer Minute:

Diagramm der Kopiergeschwindigkeit von Windows 10

Hier gibt es kein Problem, ich möchte nur verstehen, wie die Dinge funktionieren.

Gricey
quelle
1
Weitere Informationen zur ReadyNAS-Festplattenkonfiguration sind hilfreich. Verwenden Sie RAID 5 auf drei Laufwerken? Wie hoch ist die Schreibgeschwindigkeit auf jedem Laufwerk? Was ist der Puffer auf jedem Laufwerk und gibt es einen Cache, den ReadyNAS verwendet? Haben Sie andere Tools wie TeraCopy ausprobiert, um festzustellen, ob sich Ihre Übertragungsraten unterscheiden? Andernfalls besteht möglicherweise ein Engpass beim Schreiben im Festplatten-Cache, insbesondere wenn Ihre Schreibraten nicht gut sind (z. B. Seagate Barracuda).
So
Haben Sie alle anderen Prozesse, die den NAS möglicherweise verwenden, in Intervallen geschlossen?
Arjan

Antworten:

6

Kurze Antwort: Cache schreiben

TL; DR: Erstens ist der Overhead beim Kopieren einer einzelnen großen Datei viel geringer als bei vielen kleineren. Das heißt, PC und NAS "verschwenden" nicht viel Zeit mit der Suche nach Dateien und dem Aktualisieren von Metadaten für Dateitabellen und Dateisysteme. Dies bedeutet auch einen viel höheren Durchsatz, der wahrscheinlich einige der Bandbreitenengpässe im Setup aufdeckt.

Die Spitzen und Täler im Bandbreitendiagramm scheinen in relativ regelmäßigen Abständen aufzutreten, und angesichts der Tatsache, dass Sie eine einzelne große Datei kopieren (maximale Bandbreite, minimaler Overhead), würde ich sagen, dass Sie den Effekt von Pufferung / Caching sehen .

Mir scheint, Sie senden Daten wahrscheinlich schneller an den NAS, als er auf die Festplatte schreiben kann. Dank Write Cache / Buffer kann es immer noch schneller empfangen (die Spitzenwerte des Diagramms), aber Sie können keine Daten mehr empfangen, ohne sie auf die Festplatte zu übertragen.

Schließlich wird der Puffer voll und muss auf die Festplatte geschrieben werden. In der Zwischenzeit kann der NAS keine Daten mehr so ​​schnell empfangen wie zuvor, da er keinen Speicherort hat (der Puffer ist voll und die Festplatten sind langsamer). Hier erhalten Sie die Täler des Graphen.

Es scheint, dass Windows das Durchsatzdiagramm glättet. Mit genaueren Diagrammen (z. B. aus dem Systemmonitor) können Sie die Schreibpuffergröße tatsächlich schätzen, indem Sie die Intervalle und übertragenen Bytes analysieren.

Der Grund, warum die Spitzen und Täler nicht in perfekt gleichmäßigen Intervallen auftreten, ist wahrscheinlich, dass PC, NAS oder beide "etwas anderes" tun, während Sie die Datei kopieren.

abstrask
quelle
Wäre das nicht eine horizontale Linie mit plötzlichen Spitzen (bis auf etwa Null), wenn der Puffer voll ist?
Arjan
Das Diagramm zum Kopieren von Dateien scheint geglättet zu sein, wahrscheinlich aus Gründen der visuellen Attraktivität. PerfMon würde wahrscheinlich ein viel genaueres Diagramm erzeugen. Dies hängt auch vom Algorithmus ab, der für das Flushing auf die Festplatte verwendet wird - z. B. Unterbrechen des Datenempfangs, bis alle Daten auf die Festplatte geschrieben wurden, und Beschränken des Datenempfangs auf eine langsamere Rate, sodass schneller auf die Festplatte geschrieben werden kann, als neue Daten empfangen werden.
abstrask
17

Es ist schwer, ohne viele weitere Untersuchungen verbindlich zu antworten. Vielen Dank, dass Sie Ihre Frage mit der Zeitskala und dem Protokoll aktualisiert haben.

Es könnte normale TCP "Jakobsmuscheln" geben. TCP geht so schnell wie möglich, bis Paketverlust auftritt. Dann zieht es sich ein wenig zurück und fährt wieder hoch. Es stößt also immer wieder mit dem Kopf gegen die Decke. Auf diese Weise wird die verfügbare Bandbreite maximiert, ohne die Überlastung zu verschlechtern. Normalerweise schaue ich mir TCP-Jakobsmuscheln in einem TCPTrace-Diagramm an, das sich ein wenig von diesem Diagramm unterscheidet. Ich würde erwarten, dass es in dieser Art von Grafik etwas sägezahnartiger aussieht, aber in dieser Grafik ist möglicherweise eine gewisse Glättung zu beobachten. Und jetzt, wo ich darüber nachdenke, wären TCP-Jakobsmuscheln in einem viel kleineren Zeitrahmen, als dieser Graph zu zeigen scheint.

Es kann auch sein, dass Ihr Remote-Dateisystem-Protokoll (SMB) die Datei blockweise liest und die Dips dort sind, wo ein Block gelesen wurde und der nächste angefordert wird.

Spiff
quelle
Tut mir leid, dass es an Details mangelt, ich war mir nicht sicher, was die Leute wissen sollten. Ich benutze smb und diese Grafik deckt einen Zeitraum von ungefähr einer Minute ab
Gricey,
4
@ Gricey: Kommentiere es nicht: repariere die Frage !!
Leichtigkeit Rennen mit Monica
-1 für unnötige Nitpicking
Mehrdad
@LightnessRacesinOrbit behoben
Gricey
1
@ Gricey Ich entschuldige mich dafür, dass ich so wählerisch in Bezug auf Details bin. Ich verstehe das Gefühl, dass es schwierig ist, eine Menge Dinge zu dokumentieren, wenn man nicht weiß, welche Details die Leute brauchen werden. Es ist eine schwierige Balance zwischen der Gewissheit, ausreichend zu dokumentieren, dass die Menschen, die helfen, nicht frustriert sind, und dem Gefühl, dass Sie möglicherweise Zeit damit verschwenden, Dinge zu dokumentieren, die keine Rolle spielen.
Spiff
0

Ich glaube, Microsoft hat diese Funktion in der Fortschrittsanzeige von Windows 8 eingeführt.

Von links nach rechts wird der Fortschritt in Prozent und von oben nach unten die Übertragungsrate in MB / s angezeigt .

Die Übertragungsraten hängen von der Geschwindigkeit der Medien (BUS oder Netzwerk), der Anzahl und Größe der Dateien, dem Dateisystem und der Verfügbarkeit der Ressourcen usw. ab.

Auch während einer Dateiübertragung werden viele Metadaten gelesen / geschrieben.

Sie sehen eine einigermaßen konsistente Welle, da der Lese- / Schreibaufwand für diese Metadaten verringert wird und andere Ressourcen mit der gleichen Rate verwendet werden. Gelegentliche Einbrüche können die Ereignisse Paketverlust, nächster Blocklesevorgang, Ressourcenabfrage usw. sein.

Zur weiteren Verdeutlichung wird hier weiter gelesen

Wortspiel
quelle
3
Dies beantwortet die Frage nicht wirklich.
Leichtigkeit Rennen mit Monica