Welchen Einfluss hat die NTFS-Komprimierung auf die Leistung?

Welchen Einfluss hat die NTFS-Komprimierung auf die Leistung?

Ich habe gehört, dass NTFS-Komprimierung die Leistung aufgrund zusätzlicher CPU-Auslastung verringern kann, aber ich habe Berichte gelesen, dass sie aufgrund reduzierter Festplattenlesevorgänge tatsächlich die Leistung steigern kann. Wie genau wirkt sich NTFS-Komprimierung auf die Systemleistung aus?

Anmerkungen:

  • Ich verwende einen Laptop mit einer Festplatte mit 5.400 U/min und viele der Dinge, die ich darauf mache, sind E/A-gebunden.
  • Der Prozessor ist ein AMD Phenom II mit vier Kernen und 2,0 GHz.
  • Das System wird regelmäßig defragmentiert mitUltraDefrag.
  • Die Arbeitslast besteht aus gemischtem Lesen und Schreiben, wobei das Lesen etwas häufiger vorkommt als das Schreiben.
  • Die zu komprimierenden Dateien umfassen eine ausgewählte Teilmenge persönlicher Dokumente (nicht den vollständigen Home-Ordner) und Programme, darunter mehrere (weniger anspruchsvolle) Spiele und Visual Studio (das häufiger E/A-gebunden ist).

Antwort1

Ich habe gehört, dass die NTFS-Komprimierung aufgrund der zusätzlichen CPU-Auslastung zu Leistungseinbußen führen kann. In Berichten habe ich jedoch auch gelesen, dass die Leistung aufgrund der geringeren Festplattenlesevorgänge sogar steigen kann.

Richtig. Angenommen, Ihre CPU kann mithilfe eines Komprimierungsalgorithmus mit C MB/s komprimieren und mit D MB/s dekomprimieren und Ihre Festplatte hat eine Schreibgeschwindigkeit von W und eine Lesegeschwindigkeit von R. Solange C > W ist, erhalten Sie eine Leistungssteigerung beim Schreiben und solange D > R ist, erhalten Sie eine Leistungssteigerung beim Lesen. Dies ist eine drastische Annahme im Schreibfall, da der Algorithmus von Lempel-Ziv (wie in Software implementiert) eine nicht-deterministische Komprimierungsrate hat (obwohl er durch eine begrenzte Wörterbuchgröße eingeschränkt werden kann).

Wie genau wirkt sich die NTFS-Komprimierung auf die Systemleistung aus?

Nun, genau das ist möglich, indem man sich auf die oben genannten Ungleichungen verlässt. Solange Ihre CPU eine Komprimierungs-/Dekomprimierungsrate über Ihrer HDD-Schreibgeschwindigkeit aufrechterhalten kann, sollten Sie eine Geschwindigkeitssteigerung erleben. Dies hat jedoch Auswirkungen auf große Dateien, die eine starke Fragmentierung aufweisen können (aufgrund des Algorithmus) oderüberhaupt nicht komprimiert werden.

Dies kann daran liegen, dass der Lempel-Ziv-Algorithmus im Verlauf der Komprimierung langsamer wird (da das Wörterbuch weiter wächst und mehr Vergleiche erforderlich sind, wenn Bits eingehen). Die Dekomprimierung erfolgt beim Lempel-Ziv-Algorithmus unabhängig von der Dateigröße fast immer mit der gleichen Geschwindigkeit (da das Wörterbuch einfach mit einem Basis-+-Offset-Schema angesprochen werden kann).

Die Komprimierung beeinflusst auch dieauf der Platte angeordnet. Standardmäßig ist eine einzelne „Komprimierungseinheit“ 16-mal so groß wie ein Cluster (die meisten NTFS-Dateisysteme mit 4 kB-Clustern benötigen also 64 kB-Blöcke zum Speichern von Dateien), wird aber nicht größer als 64 kB. Dies kann sich jedoch auf die Fragmentierung und den Speicherplatzbedarf auf der Festplatte auswirken.

Abschließend sei noch erwähnt, dass die Latenz ein weiterer interessanter Diskussionswert ist. Die tatsächliche Zeit, die zum Komprimieren der Daten benötigt wird, führt zwar zu einer Latenz, aber wenn die CPU-Taktrate im Gigahertz-Bereich liegt (d. h. jeder Taktzyklus weniger als 1 ns beträgt), ist die Latenz im Vergleich zu den Suchraten der Festplatte (die im Bereich von Millisekunden oder Millionen von Taktzyklen liegen) vernachlässigbar.


Um tatsächlich zu sehen, ob Sie eine Geschwindigkeitssteigerung feststellen, können Sie einige Dinge ausprobieren. Das erste ist, Ihr System mit einem auf Lempel-Ziv basierenden Komprimierungs-/Dekomprimierungsalgorithmus zu benchmarken. Wenn Sie gute Ergebnisse erzielen (d. h. C > W und D > R), sollten Sie versuchen, die Komprimierung auf Ihrer Festplatte zu aktivieren.

Von dort aus möchten Sie möglicherweise weitere Benchmarks zur tatsächlichen Festplattenleistung durchführen. Ein wirklich wichtiger Benchmark (in Ihrem Fall) wäre, zu sehen, wie schnell Ihre Spiele geladen werden und wie schnell Ihre Visual Studio-Projekte kompiliert werden.

TL,DR: Komprimierungkönntefür ein Dateisystem mit vielen kleinen Dateien geeignet sein, das einen hohen Durchsatz und geringe Latenz erfordert. Große Dateien sind (und sollten) aufgrund von Leistungs- und Latenzproblemen nicht betroffen sein.

Antwort2

Ich habe es hier im Wikpedia-Eintrag für NTFS erklärt:


NTFS kann Dateien mit dem LZNT1-Algorithmus (einer Variante des LZ77 [23] ) komprimieren. Dateien werden in Blöcken zu 16 Clustern komprimiert. Bei 4-kB-Clustern werden Dateien in Blöcke zu 64 kB komprimiert. Wenn die Komprimierung 64 kB Daten auf 60 kB oder weniger reduziert, behandelt NTFS die nicht benötigten 4-kB-Seiten wie leere, spärliche Dateicluster – sie werden nicht geschrieben. Dies ermöglicht nicht unangemessene Direktzugriffszeiten. Große komprimierbare Dateien werden jedoch stark fragmentiert, da dann jeder 64-kB-Block zu einem kleineren Fragment wird. [24][25] Die Komprimierung wird von Microsoft für Dateien über 30 MB aufgrund der Leistungseinbußen nicht empfohlen.[Zitat erforderlich]

Komprimierung ist am besten für Dateien geeignet, die sich wiederholen, selten geschrieben werden, normalerweise sequenziell abgerufen werden und selbst nicht komprimiert sind. Protokolldateien sind ein ideales Beispiel. Das Komprimieren von Dateien, die kleiner als 4 KB sind oder bereits komprimiert sind (wie .zip, .jpg oder .avi), kann sie größer und langsamer machen. [Zitat erforderlich] Benutzer sollten das Komprimieren von ausführbaren Dateien wie .exe und .dll vermeiden (sie können in 4-KB-Seiten ein- und ausgelagert werden). Das Komprimieren von Systemdateien, die beim Booten verwendet werden, wie Treiber, NTLDR, winload.exe oder BOOTMGR, kann dazu führen, dass das System nicht richtig bootet. [26]

Obwohl der Lese-/Schreibzugriff auf komprimierte Dateien zwar oft, aber nicht immer [27] transparent ist, empfiehlt Microsoft, die Komprimierung auf Serversystemen und/oder Netzwerkfreigaben mit Roaming-Profilen zu vermeiden, da sie eine erhebliche Belastung des Prozessors darstellt.[28]

Einzelbenutzersysteme mit begrenztem Festplattenspeicher können von der NTFS-Komprimierung für kleine Dateien profitieren, von 4 kB bis 64 kB oder mehr, je nach Komprimierbarkeit. Dateien mit weniger als 900 Bytes oder so werden mit dem Verzeichniseintrag in der MFT gespeichert.[29]

Das langsamste Glied in einem Computer ist nicht die CPU, sondern die Geschwindigkeit der Festplatte. Durch die NTFS-Komprimierung kann der begrenzte, langsame Speicherplatz sowohl hinsichtlich des Speicherplatzes als auch (oft) der Geschwindigkeit besser genutzt werden.[30] (Dies setzt voraus, dass komprimierte Dateifragmente nacheinander gespeichert werden.)


Ich empfehle die Komprimierung nur für Dateien, die auf 64 KB oder weniger komprimiert werden (also 1 Stück). Andernfalls besteht Ihre Datei aus vielen 64 KB oder weniger großen Teilen.

MyDefrag leistet beim Defragmentieren bessere Arbeit.

Antwort3

Sie haben eine ziemlich langsame Festplatte, Ihre Frage ist also durchaus berechtigt. Die NTFS-Komprimierung ist prozessorintensiv und eher auf Geschwindigkeit als auf Komprimierungseffizienz ausgelegt.

Ich würde erwarten, dass Sie bei Lesevorgängen eine (sehr) kleine Verbesserung feststellen würden. Beim Zugriff auf eine Datei im Systemcache kommt es jedoch zu Leistungseinbußen, da die Datei bei jedem Zugriff erneut dekomprimiert werden muss.

Sie werden natürlich feststellen, dass Schreibvorgänge aufgrund der zusätzlichen Komprimierung langsamer werden.

Das Kopieren von Dateien auf derselben NTFS-Festplatte erfordert eine Dekomprimierung und Komprimierung, weshalb diese am meisten beeinträchtigt werden.

Auch die NTFS-Komprimierung kann die Fragmentierung erheblich erhöhen, was bei den meisten „typischen“ Computern unter „typischer“ Arbeitslast jedoch kein Problem darstellt.

Viele Dateitypen, wie etwa JPEG-Bilder, Videos oder ZIP-Dateien, sind grundsätzlich nicht komprimierbar, d. h. die Nutzung dieser Dateien ist langsamer und es wird kein Speicherplatz gespart.

Dateien, die kleiner als ein Datenträgercluster (normalerweise 4 KB) sind, werden nicht komprimiert, da kein Gewinn erzielt wird. Beim Komprimieren des gesamten Datenträgers ist jedoch manchmal eine noch kleinere Clustergröße ratsam.

Die NTFS-Komprimierung wird für relativ statische Datenträger oder Dateien empfohlen. Für Systemdateien oder den Ordner „Benutzer“ wird sie nicht empfohlen.

Da die Hardwarekonfiguration jedoch von Computermodell zu Computermodell je nach Festplatte, Bus, RAM und CPU unterschiedlich ist, können Sie nur durch Testen feststellen, welche genaue Auswirkung die Komprimierung auf Ihr Computermodell hat.

Antwort4

jeder, der dies heute sieht, sollte sich darüber im Klaren sein, dass bei Videospielen, ja sogar bei regelmäßig gepatchten, das Aktivieren der Komprimierung auf dem Laufwerk oder Ordner die Ladezeiten verkürzen kann, sogar auf den langsameren CPUs von heute und sogar auf SSDs (außer den schnellsten, die die meisten Leute nicht haben). Sie müssen jedoch regelmäßig defragmentieren, und ich empfehle dringend, Perfect Disk zu kaufen. Wenn Sie die „Smart Agressive“-Defragmentierung verwenden, lassen Sie NACH der Komprimierung die Funktion zur automatischen Verhinderung von Fragmentierung aktiviert. Sie wird die Aktivität im Auge behalten und automatisch optimieren, um Fragmentierung zu vermeiden, und das bei sehr geringen bis keinen Leistungseinbußen (ich habe dies tatsächlich vor kurzem auf alten Quads der ersten Generation von AMD und Intel unter modernen Windows-Betriebssystemen getestet).

Viele Spieledateien lassen sich unglaublich gut komprimieren, manche Spiele enthalten Dateien, die viel Speicherplatz beanspruchen, obwohl sie größtenteils leer sind. Bei einem Spiel, das ich vor einiger Zeit komprimiert habe, schrumpfte die Größe in einem seiner Ordner von 6 GB auf unter 16 MB … (ich wünschte, ich würde scherzen … da spricht man von verschwendetem Speicherplatz und verschwendeter E/A …)

habe vor einiger Zeit den Steam-Ordner eines Kumpels komprimiert, das Komprimieren hat 4 Tage gedauert (er ist auf einer 4-TB-Festplatte und war anfangs zu 3/4 voll), als es fertig war … hat er ungefähr 1/3 der gesamten Festplatte genutzt, das Defragmentieren hat noch einen Tag gedauert (aber es war anfangs schrecklich fragmentiert, weil er noch nie eine Defragmentierung durchgeführt hatte, obwohl mehrere MMOs darauf waren … und haufenweise Steam-/Uplay-/Origin-/usw.-Spiele darauf …)

Komprimieren Sie Ihre Ordner mit Bildern/Fotos NICHT, das nützt nichts und verlangsamt auf langsamen Systemen nur den Zugriff darauf (auf einem halbwegs ordentlichen Rechner werden Sie es allerdings nicht einmal bemerken ...)

ich habe meine Laufwerke auf jedem System seit NT4 komprimiert, ABER selektiv. Tatsächlich dekomprimiere ich Ordner, bei denen die Komprimierung mehr schadet als nützt. Das sind die „Best Practices“, die wir uns damals als Gamer, Geeks und „IT“-Leute (bevor es diesen Begriff nicht gab) ausgedacht haben, und das ist auch heute noch so. Ehrlich gesagt wünschte ich, sie hätten eine besser abgestimmte Methode zum Komprimieren von Laufwerken/Daten. Es gab mal ein Tool, das nicht kostenlos, aber erschwinglich war und mit dem man viel bessere Komprimierungsergebnisse bekam, ohne Daten zu komprimieren, die nicht komprimiert werden sollten …

trotzdem profitieren sogar viele ältere Dual-Core-Systeme insgesamt davon, wenn Sie 1. cCleaner ausführen, 2. chkdsk /f von einer Eingabeaufforderung mit erhöhten Rechten ausführen (y eingeben, dann neu starten und die Prüfung ausführen lassen), 3. das Laufwerk komprimieren, 4. mit mydefrag oder besser mit perfect disk defragmentieren, dies wird einige Zeit dauern... 5. alle Ordner mit großen Dateien oder Bildern/anderen Inhalten, die sich nicht gut oder überhaupt nicht komprimieren lassen, entpacken Sie den Ordner oder nur die Dateien, meine Erfahrung ist, dass Sie nach diesem Teil des Prozesses selten defragmentieren müssen, es aber am besten prüfen.

ich verstehe, warum manche Leute gegen Komprimierung sind, aber nach meinen Tests kann Komprimierung bei richtiger Verwendung von SSDs oder Festplatten und insbesondere langsamen alten Festplatten und SSDs nicht nur dabei helfen, Platz zu sparen, sondern auch die Leistung zu verbessern. Sogar die meisten älteren Dual-Core-Systeme können die durchschnittlichen Komprimierungs-/Dekomprimierungszyklen schneller bewältigen als das Laufwerk in diesen Systemen. Nach meinen Tests können SSDs der ersten Generation und günstigere ältere Designs von Komprimierung profitieren, in den meisten Fällen jedoch nicht so sehr wie langsamere Festplatten. Aber ein Freund hat ein Netbook mit einer SEHR langsamen, schwer austauschbaren SSD sowie einem viel einfacher austauschbaren und leicht zugänglichen SSD-Steckplatz. Das blöde Ding kann jedoch NICHT von der hinzugefügten SSD booten, ohne die andere physisch zu entfernen ... (schreckliches BIOS, aber ... für das, was das Gerät ist, ist es eigentlich nett und leistungsstärker, als es aussieht ... abgesehen von der langsamen SSD, die so installiert ist, dass man das ganze Ding auseinandernehmen muss, um an sie heranzukommen ...), das Komprimieren dieses Laufwerks und nur Windows und die einfachsten Apps (wie Office) auf der langsamen SSD haben sie tatsächlich beschleunigt, sogar beim Lesen/Schreiben, weil deren CPU am Ende auf die verdammte SSD wartet ... nicht auf die schnellere, die er installiert hat. Ich habe vorgeschlagen, einfach den Bootloader auf die interne SSD zu setzen und das Betriebssystem auf die zusätzliche, aber ... er hofft, das blöde Ding irgendwann kaputt zu machen, indem er das meiste davon für die Auslagerungsdatei verwendet ... (sie ist 128 GB groß, aber unglaublich langsam, ich habe zum Beispiel USB-3-Sticks mit besseren Schreibgeschwindigkeiten ... die allesamt bei Newegg/Amazon im Angebot sind ...)

ich empfehle DRINGEND, zumindest Ihr Spielelaufwerk/Ihren Spieleordner zu komprimieren … mein Gott, was für einen Unterschied das sogar auf schnellen Systemen machen kann!!!

verwandte Informationen