NTFS-Verbindungspunkt von der Festplatte zur SSD. Kommt es zu Leistungsengpässen? (Steam-Spiel-Umzug)

NTFS-Verbindungspunkt von der Festplatte zur SSD. Kommt es zu Leistungsengpässen? (Steam-Spiel-Umzug)

Kann ein NTFS-Verbindungspunkt zwischen Festplatten einen Engpass verursachen? Oder wird die Verbindung im Speicher zwischengespeichert?

Genauer gesagt möchte ich Steam auf einer magnetischen Festplatte installieren. Das bedeutet, dass alle Spiele dort installiert werden. Um meine SSD optimal zu nutzen, werde ich die Spiele, die ich gerade spiele, aus dem Steam-Verzeichnis auf der Festplatte auf die SSD übertragen.

Ich habe mich gefragt, ob dies zu Leistungsproblemen führen würde. Muss das Spiel jedes Mal, wenn es auf eine Datei zugreift, die Festplatte lesen, den Verbindungspunkt lesen, den neuen Pfad auf der SSD auflösen und dann die echte Datei abrufen? Oder speichert das Betriebssystem diese Umleitung im Cache, sodass die Leistungseinbußen nur beim ersten Mal auftreten?

Danke!

Antwort1

Höchstwahrscheinlich nicht, es wird kein Engpass sein. Mit NTFS-Verbindungen ist ein gewisser Mehraufwand verbunden, der in Ihrem Szenario jedoch vernachlässigbar sein sollte.

Sie könnten den Overhead vermeiden, indem Sie die Daten physisch auf die SSD verschieben und überhaupt keine Junctions verwenden (was für mich das Hauptanliegen Ihrer Frage zu sein scheint), aber ich bezweifle, dass Sie den Unterschied messen könnten.

Wo werden die Knoten gespeichert und zwischengespeichert?

Kreuzungensind Art vonAnalysepunktedie alle gespeichert sind in$Extend\$Reparse Metadatei(eine andere, bekanntere Metadatei ist die $MFT).

Wenn einer Datei oder einem Verzeichnis ein Analysepunkt zugeordnet ist, erstellt NTFS ein $Reparsenach dem Analysepunkt benanntes Attribut. Dieses Attribut speichert den Analysecode und die Daten. Damit NTFS alle Analysepunkte auf einem Datenträger problemlos finden kann, \$Extend\$Reparsespeichert eine Metadatendatei mit dem Namen Einträge, die die MFT-Eintragnummern der Analysepunktdatei und des Verzeichnisses mit ihren zugehörigen Analysepunktcodes verbinden. NTFS sortiert die Einträge im Index nach der MFT-Eintragnummer $R.

Quelle:Inside Win2K NTFS, Teil 1 von Mark Russinovich

Reparse-Diagramm

Reparse-Prozess

Quelle:Inside Win2K NTFS, Teil 1 von Mark Russinovich

Es gab Kommentare, dass Junctions in MFT gespeichert und MFT zwischengespeichert wird. Nun, da wir wissen, wo die Junctions gespeichert sind, würde ich eine glaubwürdige Quelle benötigen, um die Caching-Behauptung zu stützen; die ich nicht finden konnte.

Ich weiß es also nicht, aber ich glaube nicht, dass es eine Rolle spielt.

Gibt es ein dokumentiertes Szenario, in dem die Leistung durch plattenübergreifende Verbindungen abgenommen hat?

Ja,ARFist gelaufen inAusgabeso. Er hat das Löschen kleiner Dateien im Stapelbetrieb getestet, und als der Vorgang über Junctions durchgeführt wurde, war der limitierende Faktor nicht mehr IO (wie erwartet), sondern die CPU. Dieser Benchmark wurde auch ausführlich aufGitHub.

verwandte Informationen