Cómo realizar pruebas de estrés en los discos duros de su PC o servidor

¿Cuál de sus discos duros es el más rápido? ¿Es realmente tan rápido como prometió el fabricante? Ya sea que tenga una PC de escritorio o un servidor, la utilidad gratuita Diskspd de Microsoft pondrá a prueba y comparará sus discos duros.

NOTA: Una versión anterior de esta guía explica el uso de la antigua utilidad “SQLIO” de Microsoft. Sin embargo, Microsoft ahora solo ofrece la utilidad «Diskspd», que reemplaza a SQLIO, por lo que hemos actualizado esta guía con nuevas instrucciones.

¿Por qué utilizar Diskspd?

Si desea conocer la capacidad IO de sus unidades, Diskspd es una excelente herramienta. Diskspd le dirá la capacidad máxima que pueden manejar los discos duros de un servidor, o le indicará el disco duro más rápido que debe usar para cargas de trabajo pesadas (o simplemente juegos de PC exigentes) en una PC de escritorio.

Como ejemplo, supongamos que tenemos tres unidades en un servidor: una unidad F, una unidad G y una unidad C. Si tenemos nuestro MDF en la unidad F, el LDF en la unidad G y nuestro sistema operativo en nuestra unidad C, podemos evaluar si nuestra configuración es efectiva. Por ejemplo, si el archivo MDF es el archivo más ocupado con más lecturas y escrituras, querríamos que estuviera en la unidad más rápida.

imagen

imagen

imagen

Usando el ejemplo anterior con los gráficos (que representan las escrituras y lecturas para el sistema operativo, LDF y MDF), colocaríamos nuestro archivo MDF en el disco más rápido ya que nuestro MDF es el más ocupado. Si nuestro análisis de Diskspd mostró que F era nuestra unidad más rápida, colocaríamos nuestro archivo MDF en la unidad F.

Dónde descargar Diskspd

Microsoft ofrece esta excelente herramienta de forma gratuita y puede descargarla de Microsoft Technet . Incluso es de código abierto, por lo que puede descargar e inspeccionar o modificar el código fuente de GitHub .

Se ha probado que Diskspd funciona en versiones de escritorio de Windows 7, 8, 8.1, 10, así como en Windows Server 2012, 2012 R2 y 2016 Technical Preview 5.

Una vez que lo haya descargado, deberá extraer el contenido del archivo .zip a una carpeta en su computadora. Tenga en cuenta que el archivo contiene tres archivos «diskspd.exe» diferentes. El de la carpeta «amd64fre» es para PC con Windows de 64 bits, mientras que el de la carpeta «x86fre» es para PC con Windows de 32 bits. Si está usando una versión de Windows de 64 bits, y probablemente lo esté, probablemente querrá usar la versión de 64 bits.

¿Cómo realizo una prueba de esfuerzo?

Para realizar una única prueba, simplemente puede invocar un comando Diskspd desde un símbolo del sistema habilitado para el administrador. En Windows 10 u 8.1, haga clic con el botón derecho en el botón Inicio y seleccione «Símbolo del sistema (Administrador)». En Windows 7, localice el acceso directo «Símbolo del sistema» en el menú Inicio, haga clic con el botón derecho y seleccione «Ejecutar como administrador».

Primero, use cdpara cambiar al directorio que contiene el Diskspd.exe que desea usar:

cd c: \ ruta \ a \ diskspd \ amd64fre

En nuestro caso, se parecía al siguiente comando.

Ahora, ejecute el comando Diskspd con las opciones que desee utilizar. Encontrará una lista completa de opciones de línea de comandos e información de uso en el archivo DiskSpd_Documentation.pdf de 30 páginas incluido en el archivo Diskspd que descargó.

Sin embargo, si desea comenzar a trabajar rápidamente, aquí tiene un comando de ejemplo. El siguiente comando establece el tamaño del bloque en 16K (-b16K), ejecuta una prueba de 30 segundos (-d30), deshabilita el cobro de hardware y software (-Sh), mide las estadísticas de latencia (-L), usa dos solicitudes de E / S por subproceso (- o2) y cuatro subprocesos (-t4) por destino, utiliza acceso aleatorio en lugar de escritura secuencial (-r), realiza un 30% de operaciones de escritura y un 70% de operaciones de lectura (-w30).

Crea un archivo en c: \ testfile.dat de 50 MB de tamaño (-c50M). Si quisiera comparar su unidad D: en su lugar, por ejemplo, especificaría d: \ testfile.dat

Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: \ testfile.dat

Después del tiempo que especifique (30 segundos en la prueba anterior), los resultados de la prueba se imprimirán en el símbolo del sistema y podrá verlos.

Consulte los resultados y verá el promedio de MB / s que alcanzó la unidad durante la prueba: cuántas operaciones de escritura se realizaron por segundo, cuántas operaciones de lectura se realizaron por segundo y la cantidad total de operaciones de entrada / salida (IO) por segundo. Estas estadísticas son más útiles cuando se comparan varias unidades para ver cuál es más rápida para ciertas operaciones, pero también le dirán exactamente cuánto IO puede manejar un disco duro.

También puede volcar los resultados a un archivo de texto que puede ver más tarde con el operador>. Por ejemplo, el siguiente comando ejecuta el mismo comando que el anterior y coloca los resultados en el archivo C: \ testresults.txt.

Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: \ testfile.dat> c: \ testresults.txt

Repita este proceso para sus otras unidades y compare.

Personalización de su comando de prueba de esfuerzo

Si está tratando de averiguar cuál es el disco duro más rápido para una determinada carga de trabajo, debe crear un comando que se adapte mejor a esa carga de trabajo. Por ejemplo, si se trata de un servidor que solo lee datos y no escribe, debe realizar una prueba del 100% de lecturas que no mida ningún rendimiento de escritura. Ejecute esa prueba de esfuerzo en varias unidades y compare los resultados para ver cuál es más rápido para ese tipo de trabajo.

Tenga en cuenta que hay muchas, muchas otras opciones de línea de comandos que puede especificar para Diskspd.exe. Encontrará la lista más completa y actualizada en la documentación que viene con el archivo Diskspd.exe descargado, pero aquí hay algunas opciones importantes:

  • -w denota el porcentaje de operaciones de escritura y lectura. Por ejemplo, ingresar -w40 realizará un 40% de operaciones de escritura y, por lo tanto, un 60% de operaciones de lectura. Al ingresar -w100 se realizarán operaciones de escritura al 100%. Omitir el interruptor -w o ingresar -w0 realizará operaciones de escritura al 0% y, por lo tanto, operaciones de lectura al 100%.
  • -r o -s determina si las operaciones de los usos de prueba ya sea de acceso aleatorio o secuencial. Especifique -r para acceso aleatorio o -s para secuencial. Esto le ayuda a probar el acceso aleatorio a archivos (a menudo, un grupo de archivos pequeños) o el acceso secuencial a archivos (a menudo, un archivo grande que se lee o escribe de una vez).
  • -t denota el número de subprocesos que se ejecutarán al mismo tiempo, como -t2 para dos subprocesos o -t6 para seis subprocesos.
  • -o indica el número de solicitudes pendientes por hilo, como -o4 para cuatro solicitudes o -o2 para dos resultados.
  • -d es la duración de las pruebas en segundos, como -d90 durante 90 segundos o -d120 durante 120 segundos.
  • -b es el tamaño de bloque de las lecturas o escrituras, como -b16K para un tamaño de bloque de 16K o -b64K para un tamaño de bloque de 64K.

Con estas opciones, puede modificar el comando de referencia para ver cómo funciona su disco con cargas variables. Una vez que haya escrito un comando que crea que se aproxima al tipo de carga de trabajo que realiza en su PC, puede probar varias unidades y ver cuál ofrece el mejor rendimiento.