
Escuché que la compresión NTFS puede reducir el rendimiento debido al uso adicional de la CPU, pero leí informes de que en realidad puede aumentar el rendimiento debido a la reducción de las lecturas del disco. ¿Cómo afecta exactamente la compresión NTFS al rendimiento del sistema?
Notas:
- Estoy usando una computadora portátil con un disco duro de 5400 RPM y muchas de las cosas que hago en ella están vinculadas a E/S.
- El procesador es un AMD Phenom II con cuatro núcleos a 2,0 GHz.
- El sistema se desfragmenta periódicamente utilizandoUltraDefrag.
- La carga de trabajo es mixta de lectura y escritura, y las lecturas se producen con mayor frecuencia que las escrituras.
- Los archivos a comprimir incluyen un subconjunto seleccionado de documentos personales (no la carpeta de inicio completa) y programas, incluidos varios juegos (menos exigentes) y Visual Studio (que tiende a estar vinculado a E/S la mayoría de las veces).
Respuesta1
Escuché que la compresión NTFS puede reducir el rendimiento debido al uso adicional de la CPU, pero leí informes de que en realidad puede aumentar el rendimiento debido a la reducción de las lecturas del disco.
Correcto. Suponiendo que su CPU, utilizando algún algoritmo de compresión, puede comprimir a C MB/s y descomprimir a D MB/s, y su disco duro tiene una velocidad de escritura W y una velocidad de lectura R. Siempre que C > W, obtendrá una ganancia de rendimiento cuando escribiendo, y siempre que D > R, se obtiene una mejora en el rendimiento al leer. Esta es una suposición drástica en el caso de la escritura, ya que el algoritmo de Lempel-Ziv (tal como se implementa en el software) tiene una tasa de compresión no determinista (aunque puede restringirse con un tamaño de diccionario limitado).
¿Cómo afecta exactamente la compresión NTFS al rendimiento del sistema?
Bueno, es exactamente basándose en las desigualdades anteriores. Siempre que su CPU pueda mantener una tasa de compresión/descompresión superior a la velocidad de escritura de su HDD, debería experimentar una ganancia de velocidad. Sin embargo, esto tiene un efecto en archivos grandes, que pueden experimentar una gran fragmentación (debido al algoritmo), ono estar comprimido en absoluto.
Esto puede deberse al hecho de que el algoritmo Lempel-Ziv se ralentiza a medida que avanza la compresión (ya que el diccionario continúa creciendo y requiere más comparaciones a medida que ingresan bits). La descompresión es casi siempre la misma velocidad, independientemente del tamaño del archivo, en el algoritmo Lempel-Ziv (ya que el diccionario puede abordarse utilizando un esquema base + desplazamiento).
La compresión también afecta la forma en que se almacenan los archivos.dispuesto en el disco. De forma predeterminada, una única "unidad de compresión" tiene 16 veces el tamaño de un clúster (por lo que la mayoría de los sistemas de archivos NTFS de clúster de 4 kB requerirán fragmentos de 64 kB para almacenar archivos), pero no aumenta más allá de 64 kB. Sin embargo, esto puede afectar la fragmentación y los requisitos de espacio en el disco.
Como nota final, la latencia es otro valor interesante de discusión. Si bien el tiempo real que lleva comprimir los datos introduce latencia, cuando la velocidad del reloj de la CPU está en gigahercios (es decir, cada ciclo de reloj es inferior a 1 ns), la latencia introducida es insignificante en comparación con las velocidades de búsqueda del disco duro (que está en el orden de milisegundos o millones de ciclos de reloj).
Para ver realmente si experimentarás un aumento de velocidad, hay algunas cosas que puedes probar. La primera es comparar su sistema con un algoritmo de compresión/descompresión basado en Lempel-Ziv. Si obtiene buenos resultados (es decir, C > W y D > R), debería intentar habilitar la compresión en su disco.
A partir de ahí, es posible que desees realizar más pruebas comparativas sobre el rendimiento real del disco duro. Un punto de referencia realmente importante (en su caso) sería ver qué tan rápido se cargan sus juegos y qué tan rápido se compilan sus proyectos de Visual Studio.
TL,DR: Compresiónpodríaser viable para un sistema de archivos que utiliza muchos archivos pequeños que requieren alto rendimiento y baja latencia. Los archivos grandes no se ven (y no deberían verse) afectados debido a problemas de rendimiento y latencia.
Respuesta2
Lo expliqué aquí en la entrada de Wikpedia para NTFS:
NTFS puede comprimir archivos utilizando el algoritmo LZNT1 (una variante del LZ77 [23]). Los archivos se comprimen en fragmentos de 16 grupos. Con clústeres de 4 kB, los archivos se comprimen en fragmentos de 64 kB. Si la compresión reduce 64 kB de datos a 60 kB o menos, NTFS trata las páginas innecesarias de 4 kB como grupos de archivos dispersos vacíos: no se escriben. Esto permite tiempos de acceso aleatorio razonables. Sin embargo, los archivos comprimibles de gran tamaño se fragmentan mucho, ya que cada fragmento de 64 kB se convierte en un fragmento más pequeño. [24][25] Microsoft no recomienda la compresión para archivos que superen los 30 MB debido al impacto en el rendimiento.[cita requerida]
El mejor uso de la compresión es para archivos que son repetitivos, que rara vez se escriben, a los que generalmente se accede de forma secuencial y que no están comprimidos. Los archivos de registro son un ejemplo ideal. Comprimir archivos que pesan menos de 4 kB o que ya están comprimidos (como .zip, .jpg o .avi) puede hacerlos más grandes y también más lentos. [cita requerida] Los usuarios deben evitar comprimir archivos ejecutables como .exe y .dll (pueden ser paginado dentro y fuera en páginas de 4 kB). Comprimir los archivos del sistema utilizados durante el inicio, como controladores, NTLDR, winload.exe o BOOTMGR, puede impedir que el sistema se inicie correctamente.[26]
Aunque el acceso de lectura y escritura a archivos comprimidos suele ser transparente, pero no siempre [27], Microsoft recomienda evitar la compresión en sistemas de servidor y/o recursos compartidos de red que contienen perfiles móviles porque supone una carga considerable para el procesador.[28]
Los sistemas de un solo usuario con espacio limitado en el disco duro pueden beneficiarse de la compresión NTFS para archivos pequeños, de 4 kB a 64 kB o más, según la compresibilidad. Los archivos de menos de 900 bytes aproximadamente se almacenan con la entrada del directorio en la MFT.[29]
El vínculo más lento de una computadora no es la CPU sino la velocidad del disco duro, por lo que la compresión NTFS permite utilizar mejor el espacio de almacenamiento lento y limitado, tanto en términos de espacio como (a menudo) de velocidad.[30] (Esto supone que los fragmentos de archivos comprimidos se almacenan consecutivamente).
Recomiendo la compresión sólo para archivos que se comprimen a 64 KB o menos (es decir, 1 pieza). De lo contrario, su archivo constará de muchas fracciones de 64 KB o menos.
MyDefrag hace un mejor trabajo al desfragmentar.
Respuesta3
Tienes un disco bastante lento, por lo que tu pregunta tiene fundamento. La compresión NTFS requiere un uso intensivo del procesador y está optimizada para la velocidad en lugar de la eficiencia de la compresión.
Espero que vea una (muy) pequeña mejora en las operaciones de lectura. Sin embargo, al acceder a un archivo que reside en la memoria caché del sistema, el rendimiento se verá afectado, ya que será necesario descomprimirlo nuevamente en cada acceso.
Por supuesto, verá que las operaciones de escritura serán más lentas debido a la compresión adicional.
Copiar archivos en este mismo disco NTFS requiere descompresión y compresión, por lo que serán los que más se verán afectados.
La compresión NTFS también puede aumentar significativamente la fragmentación, pero esto no es un problema para la mayoría de las computadoras "típicas" bajo cargas de trabajo "típicas".
Muchos tipos de archivos, como imágenes JPEG o vídeos o archivos .zip, básicamente no se pueden comprimir, por lo que su uso será más lento y no ahorrarán espacio.
Los archivos más pequeños que un grupo de discos (normalmente 4K) no se comprimen, ya que no hay ganancia. Sin embargo, a veces se recomienda un tamaño de clúster aún más pequeño al comprimir todo el volumen.
Se recomienda la compresión NTFS para volúmenes o archivos relativamente estáticos. Nunca se recomienda para archivos del sistema o la carpeta Usuarios.
Pero como la configuración del hardware varía de un modelo de computadora a otro, dependiendo del disco, bus, RAM y CPU, sólo las pruebas dirán cuál será el efecto exacto de la compresión en su modelo de computadora.
Respuesta4
Cualquiera que vea esto hoy debería ser consciente de que, en el caso de los videojuegos, sí, incluso de los que se parchean regularmente, habilitar la compresión en la unidad o carpeta puede disminuir los tiempos de carga, incluso en las CPU más lentas de hoy en día, e incluso en las SSD (que no sean las (los más rápidos que la mayoría de la gente no tiene), sin embargo, es necesario desfragmentarlos con regularidad y recomiendo encarecidamente comprar un disco perfecto. Una vez que use su desfragmentación "inteligente y agresiva", DESPUÉS de la compresión, deje activada la función de prevención automática de fragmentación, estará atento en la actividad y optimización automática para evitar la fragmentación, con muy poco o ningún impacto en el rendimiento (de hecho, probé esto desde los antiguos quads de primera generación de AMD e Intel en Windows modernos recientemente)
muchos archivos de juegos se comprimen increíblemente bien, algunos juegos tienen archivos que ocupan espacio en el disco, a pesar de estar en su mayoría en blanco... un juego que comprimí hace un tiempo pasó de 6 GB en una de sus carpetas a menos de 16 MB... (ojalá Estaba bromeando... habla de espacio desperdiciado y E/S desperdiciadas...)
comprimió la carpeta Steam de un amigo hace un tiempo, tardó 4 días en comprimirse (está en una unidad de 4 TB y comenzó a 3/4 de su capacidad), cuando estuvo listo... estaba usando alrededor de 1/3 del total de la unidad, La desfragmentación tomó otro día (pero comenzó horriblemente fragmentado porque nunca había hecho una desfragmentación en él, nunca... a pesar de que tiene múltiples mmo... y un montón de juegos de Steam/uplay/origin/etc en él... )
NO comprima sus carpetas de imágenes/imágenes, no servirá de nada y solo hará que el acceso a ellas sea más lento en sistemas lentos (aunque ni siquiera lo notará en un equipo 1/2 decente...)
He comprimido mis unidades en todos los sistemas desde nt4, PERO, selectivamente, en realidad descomprimiré carpetas donde la compresión hace más daño que bien, son las "mejores prácticas" que se nos ocurrieron en el pasado como jugadores, geeks, "es "Chicos (antes era un término), y sigue siendo cierto, honestamente, desearía que tuvieran una forma más afinada de comprimir unidades/datos, solía haber una herramienta que no era gratuita pero asequible, que los hacía mucho mejores. resultados de compresión sin comprimir ningún dato que no deba comprimirse....
de todos modos, incluso muchos sistemas de doble núcleo más antiguos se benefician en general si 1. ejecuta ccleaner 2. ejecuta chkdsk /f desde el símbolo del sistema elevado (escriba y, luego reinicie y deje que ejecute la verificación) 3. comprima la unidad. 4. desfragmentar con mydefrag o mejor, disco perfecto, esto llevará tiempo. 5. multar cualquier carpeta que contenga archivos grandes o imágenes/otro contenido que no se comprime bien/en absoluto, descomprime la carpeta o solo los archivos, mi exp aquí Es decir, rara vez es necesario desfragmentar después de esta parte del proceso, pero es mejor comprobarlo.
Entiendo por qué algunas personas están en contra de la compresión, pero, habiéndola probado, cuando se usa correctamente, ssd o hdd, y especialmente los discos duros y ssd antiguos y lentos, la compresión cuando se usa correctamente puede ayudar seriamente no solo a ahorrar espacio sino también a rendimiento, incluso en los duales más antiguos. Los núcleos pueden manejar los ciclos promedio de compresión/descompresión más rápido de lo que puede moverse la unidad en esos sistemas. Después de haber probado esto, los SSD de primera generación y de diseño más antiguo y más barato pueden beneficiarse de la compresión, no tanto como los discos duros más lentos en la mayoría de los casos, pero, amigo. tiene una netbook que tiene un ssd MUY lento y difícil de reemplazar, así como una ranura para ssd mucho más fácil de reemplazar y de fácil acceso, pero, lo estúpido NO PUEDE arrancar desde el ssd agregado sin quitar el otro físicamente... (Bios horrible, pero... para lo que es la unidad, en realidad es agradable, más poderosa de lo que parece... fuera del lento ssd que está instalado de tal manera que tienes que desarmar todo para llegar a él... ...), comprimir esa unidad y simplemente tener Windows y las aplicaciones más básicas (como Office) en el SSD lento en realidad lo aceleró, incluso en lectura/escritura, porque su CPU en realidad termina esperando el maldito SSD. No es para el más rápido que instaló... Sugerí simplemente poner el cargador de arranque en el SSD interno y el sistema operativo en el agregado, pero... espera acabar con esa cosa estúpida usando la mayor parte para el archivo de página. ..(es de 128 GB pero increíblemente lento, como si tuviera unidades flash USB3 que tienen mejores velocidades de escritura... eso cuesta todo en oferta en Newegg/amazon...)
Recomiendo ENCARECIDAMENTE comprimir al menos la unidad/carpeta de juegos... ¡Dios mío, la diferencia que puede producirse incluso en sistemas rápidos!