¿Puede un punto de unión NTFS entre unidades de disco duro causar un cuello de botella? ¿O la unión se almacenará en la memoria caché?
Específicamente, quiero instalar Steam en un HDD magnético. Esto significa que todos los juegos se instalarán allí. Para beneficiarme de mi SSD, señalaré los juegos que estoy jugando activamente desde el directorio de Steam en el HDD al SSD.
Me preguntaba si esto causaría problemas de rendimiento. Cada vez que el juego accede a un archivo, ¿necesita leer el HDD, leer el punto de unión, resolver la nueva ruta en el SSD y luego obtener el archivo verdadero? ¿O el sistema operativo almacenará en caché esta redirección para que la penalización de rendimiento solo se alcance la primera vez?
¡Gracias!
Respuestas:
Lo más probable es que no, no será un cuello de botella. Hay algo de sobrecarga asociada con las uniones NTFS, pero en su escenario debería ser insignificante.
Puede deshacerse de la sobrecarga moviendo físicamente los datos al SSD y sin usar cruces (lo cual parece ser la principal preocupación de su pregunta para mí), pero dudo que pueda medir la diferencia.
¿Dónde se almacenan y almacenan en caché las uniones?
Las uniones son el tipo de puntos de análisis que se almacenan en
$Extend\$Reparse
metarchivo (otro metarchivo más famoso es el$MFT
).fuente: Inside Win2K NTFS, Parte 1 por Mark Russinovich
Diagrama de análisis
fuente: Inside Win2K NTFS, Parte 1 por Mark Russinovich
Hubo comentarios de que las uniones se almacenan en MFT y que MFT se almacena en caché. Bueno, ahora, cuando sabemos dónde se almacenan las uniones, necesitaría una fuente creíble para respaldar el reclamo de almacenamiento en caché; que no pude encontrar
Entonces no lo sé, pero no creo que importe.
¿Existe un escenario documentado cuando la unión cruzada de discos disminuyó el rendimiento?
Sí, ARF ha tenido problemas como este. Estaba comparando la eliminación por lotes de archivos pequeños, y cuando la operación se realizó a través de la unión, el factor limitante ya no era IO (como se esperaba) sino la CPU. Este punto de referencia también se discutió en detalle en GitHub .
fuente