Punto de unión NTFS de HDD a SSD, ¿causará un cuello de botella en el rendimiento? (reubicación del juego de Steam)

Punto de unión NTFS de HDD a SSD, ¿causará un cuello de botella en el rendimiento? (reubicación del juego de Steam)

¿Puede un punto de unión NTFS entre discos duros causar un cuello de botella? ¿O la unión se almacenará en la memoria caché?

Específicamente, quiero instalar Steam en un disco duro magnético. Esto significa que todos los juegos se instalarán allí. Para beneficiarme de mi SSD, uniré 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 vea afectada la primera vez?

¡Gracias!

Respuesta1

Lo más probable es que no, no será un cuello de botella. Hay cierta sobrecarga asociada con las uniones NTFS, pero en su escenario debería ser insignificante.

Podría deshacerse de la sobrecarga moviendo físicamente los datos al SSD y sin usar uniones en absoluto (lo que para mí parece ser la principal preocupación de su pregunta), pero dudo que pueda medir la diferencia.

¿Dónde se almacenan y almacenan en caché las uniones?

Crucesson tipo depuntos de análisisque están todos almacenados en$Extend\$Reparse metarchivo(otro metarchivo más famoso es el $MFT).

Cuando un archivo o directorio tiene un punto de análisis asociado, NTFS crea un atributo denominado $Reparsepara el punto de análisis. Este atributo almacena el código y los datos de análisis. Para que NTFS pueda localizar fácilmente todos los puntos de análisis en un volumen, un archivo de metadatos llamado \$Extend\$Reparsealmacena entradas que conectan el archivo de puntos de análisis y los números de entrada MFT del directorio con sus códigos de puntos de análisis asociados. NTFS ordena las entradas por número de entrada MFT en el $Ríndice.

fuente:Dentro de Win2K NTFS, Parte 1 por Mark Russinovich

Diagrama de análisis

proceso de análisis

fuente:Dentro de 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 que sabemos dónde se almacenan las uniones, necesitaría una fuente creíble que respalde la afirmación del almacenamiento en caché; que no pude encontrar.

Entonces no lo sé, pero no creo que importe.

¿Existe algún escenario documentado en el que la unión entre discos disminuya el rendimiento?

Sí,FRAse ha topado conasuntocomo esto. Estaba evaluando 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 enGitHub.

información relacionada