¿Cómo optimizo la E / S de disco de Windows para un rendimiento de alta latencia?


1

Digamos que hay 25 procesos cada uno que desean leer e indexar un archivo grande (digamos, 1GB). El disco duro puede tener un rendimiento de ~ 100 MB / seg, pero el movimiento del cabezal y la latencia rotacional involucrados en el movimiento entre dichos procesos es significativo, por lo que puede reducir el rendimiento a 5 MB / seg, o solo el 5% de la capacidad de rendimiento del disco convencional.

Si el disco duro leyera una gran cantidad de datos (por ejemplo, 32 MB) o leyera lo que pueda durante mucho tiempo (por ejemplo, 200 ms) antes de pasar al siguiente proceso, el archivo IO podría alcanzar el rendimiento total del disco a expensas de latencia

¿Tiene Windows la posibilidad de lograr este objetivo en los casos en que la latencia queda en segundo plano en cuanto al rendimiento?

ingrese la descripción de la imagen aquí


Respuestas:


0

Para eso está el protocolo NCQ . Una unidad que admite NCQ analiza todos los comandos entrantes y los reordena para atenderlos de manera más eficiente (y esencialmente, reordenar los comandos es lo que está preguntando).

Dicho esto, veo en su ejemplo que tiene una profundidad de cola de disco de 27, por lo que hemos pasado la ayuda de incluso NCQ. Este es un problema para RAID (posiblemente junto con un almacenamiento físico más rápido).

No son parámetros de almacenamiento que se pueden ajustar en Windows, especialmente las relacionadas con el comportamiento de almacenamiento en caché, pero eso no va a ayudar lo suficiente en su caso.


Pienso en NCQ como más para ayudar a E / S pequeñas, casi aleatorias, como el acceso a la base de datos. El disco involucrado tiene NCQ y probablemente ayude un poco, pero creo que esta situación se trata más de ajustar el programador de E / S de Windows. Linux me permite elegir planificadores de E / S (fecha límite, CFQ ...), pero para ser justos, ninguno de ellos sería mucho mejor que el predeterminado de Windows en este caso.
Charles Burns

Además, el variador utiliza NCQ cuyo rendimiento se probó en la pregunta original, y aún así produce menos del 5% del rendimiento máximo.
Charles Burns el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.