Comparar el rendimiento del disco persistente en una VM de Windows


En este documento, se describe cómo comparar el rendimiento de Persistent Disk en instancias de máquina virtual (VM) de Windows. Para las VMs de Linux, consulta Compara el rendimiento del Persistent Disk en una VM de Linux.

Para medir las IOPS y la capacidad de procesamiento de un disco que está en uso en una instancia en ejecución, compara el sistema de archivos con su configuración deseada. Usa esta opción para probar una carga de trabajo realista sin perder el contenido de tu disco existente. Ten en cuenta que, cuando realizas un análisis comparativo del sistema de archivos en un disco existente, hay muchos factores específicos del entorno de desarrollo que pueden afectar los resultados, y es posible que no alcances los límites de rendimiento del disco.

Para medir el rendimiento sin procesar de un Persistent Disk, compara el dispositivo de bloques directamente. Usa esta opción para comparar el rendimiento del disco sin procesar con los límites de rendimiento del disco.

Configura el software de comparativas

Para comparar el rendimiento de Persistent Disk en las VMs de Windows, usa DISKSPD.

  1. Conéctate a tu instancia de VM.

  2. Abre PowerShell y descarga la herramienta DISKSPD con el siguiente comando:

    $client = New-Object System.Net.WebClient
    $client.DownloadFile("https://github.com/Microsoft/diskspd/releases/latest/download/DiskSpd.zip","$env:temp\DiskSpd-download.zip")
    Expand-Archive -LiteralPath "$env:temp\DiskSpd-download.zip" C:\DISKSPD
    Get-ChildItem C:\DISKSPD
    

Compara las IOPS y la capacidad de procesamiento de un disco en una instancia de VM en ejecución

Para medir las IOPS y la capacidad de procesamiento para una carga de trabajo realista en un disco activo de una instancia de VM en ejecución sin perder el contenido del disco, realiza la comparación con un directorio nuevo en el sistema de archivos existente.

En los siguientes pasos, se supone que el disco que se probará está activado como D: y que los comandos se ejecutan en una ventana del Símbolo del sistema elevada:

  1. Conéctate a tu VM

  2. Verifica la configuración de software de DISKSPD y cambia el directorio al objeto binario de 64 bits:

    cd C:\DISKSPD\amd64
    
  3. Crea un archivo de 10 GB nuevo llamado DISKTEST.DAT en el disco:

    set TESTFILE=D:\DISKTEST.DAT
    diskspd -d0 -c10G %TESTFILE%
    
  4. Prueba la capacidad de procesamiento de escritura mediante la realización de operaciones de escritura secuenciales con varias transmisiones paralelas (más de 16 o más) mediante el uso de un tamaño de bloque de E/S de 1 MB y una profundidad de E/S de al menos 64:

    diskspd -d60 -b1M -o64 -Sh -w100 -t16 -si %TESTFILE%
    
  5. Prueba las IOPS de escritura mediante la realización de operaciones de escritura aleatorias, con un tamaño de bloque de E/S de 4 KB y una profundidad de E/S de al menos 256:

    diskspd -d60 -b4K -o256 -Sh -w100 -r %TESTFILE%
    
  6. Prueba la capacidad de procesamiento de lectura mediante la realización de operaciones lecturas secuenciales con varias transmisiones paralelas (16 o más), con un tamaño de bloque de E/S de 1 MB y una profundidad de E/S de al menos 64:

    diskspd -d60 -b1M -o64 -Sh -t16 -si %TESTFILE%
    
  7. Prueba las IOPS de lectura mediante la realización de operaciones de lecturas aleatorias, con un tamaño de bloque de E/S de 4 KB y una profundidad de E/S de al menos 256:

    diskspd -d60 -b4K -o256 -Sh -r %TESTFILE%
    
  8. Limpieza:

    del %TESTFILE%
    

Compara el rendimiento de Persistent Disk sin procesar

Para medir solo el rendimiento de los volúmenes de Persistent Disk fuera de tu entorno de desarrollo, prueba el rendimiento de lectura y escritura para un dispositivo de bloques en un Persistent Disk y una VM desechables.

  1. Crea y después inicia una instancia de VM

  2. Agrega un Persistent Disk a la instancia de VM que deseas comparar.

  3. Conéctate a tu instancia de VM.

  4. Verifica la configuración de software de DISKSPD y cambia el directorio al objeto binario de 64 bits:

    cd C:\DISKSPD\amd64
    
  5. Verifica que no haya particiones no reservadas en el disco. Ingresa diskpart en una ventana del Símbolo del sistema elevada.

    diskpart
    
  6. Enumera los discos conectados a la VM:

    DISKPART> list disk
    

    El resultado muestra el disco de 1 TB recién creado que es el disco 1 en el siguiente resultado de ejemplo:

      Disk ###  Status         Size     Free     Dyn  Gpt
      --------  -------------  -------  -------  ---  ---
      Disk 0    Online          120 GB  1024 KB        *
      Disk 1    Online         1024 GB  1023 GB        *
    
  7. Selecciona el disco que deseas comparar.

    DISKPART> select disk 1
    
  8. Enumera las particiones del disco seleccionado.

    DISKPART> list partition
    
       Partition ###  Type              Size       Offset
       -------------  ----------------  --------   -------
       Partition 1    Reserved              15 MB    17 KB
       Partition 2    Primary             1024 GB    16 MB
    
  9. Selecciona la partición principal 2:

    DISKPART> select partition 2
    
  10. Borra la partición seleccionada:

    DISKPART> delete partition
    
  11. Sal de diskpart

    DISKPART> exit
    

Los pasos anteriores deben repetirse si el disco que deseas comparar tiene otras particiones además de la partición reservada. Cuando solo permanezca la partición reservada, continúa con los siguientes pasos:

  1. Después de identificar el disco y verificar que no haya particiones, configura la variable de entorno TESTDRIVE en “#” seguida de la cantidad del disco que quieres probar.

    C:/> set TESTDRIVE=#1
    
  2. Prueba la capacidad de procesamiento de escritura mediante la realización de operaciones de escritura secuenciales con varias transmisiones paralelas (16 o más) mediante el uso de un tamaño de bloque de E/S de 1 MB y una profundidad de E/S de al menos 64.

    diskspd -d60 -b1M -o64 -Sh -t16 -si -w0 %TESTDRIVE%
    
  3. Prueba las IOPS de escritura mediante la realización de operaciones de escritura aleatorias, con un tamaño de bloque de E/S de 4 KB y una profundidad de E/S de al menos 256:

    diskspd -d60 -b4K -o256 -Sh -r -w0 %TESTDRIVE%
    
  4. Prueba la latencia de operaciones de escritura. Mientras pruebas la latencia de E/S, la VM no debe alcanzar las IOPS ni el ancho de banda máximos. De lo contrario, la latencia observada no reflejará la latencia de E/S real del Persistent Disk.

    diskspd -d60 -b4K -o4 -Sh -r -w0 -L %TESTDRIVE%
    
  5. Prueba la capacidad de procesamiento de lectura mediante la realización de operaciones lecturas secuenciales con varias transmisiones paralelas (16 o más), con un tamaño de bloque de E/S de 1 MB y una profundidad de E/S de al menos 64.

    diskspd -d60 -b1M -o64 -Sh -t16 -si %TESTDRIVE%
    
  6. Prueba las IOPS de lectura mediante la realización de operaciones de lecturas aleatorias, con un tamaño de bloque de E/S de 4 KB y una profundidad de E/S de al menos 256:

    diskspd -d60 -b4K -o256 -Sh -r %TESTDRIVE%
    
  7. Para probar la latencia de lectura, es importante llenar el disco con datos para obtener una medición de latencia realista. La VM no debe alcanzar los límites de IOPS o capacidad de procesamiento durante esta prueba porque, después de que el Persistent Disk alcanza su límite de saturación, este rechaza las operaciones de E/S entrantes y esto se refleja como un aumento artificial de latencia de E/S

    diskspd -d60 -b4K -o4 -Sh -r -L %TESTDRIVE%
    
  8. Prueba el ancho de banda de operaciones de lectura secuenciales.

    diskspd -d60 -b1M -o64 -Sh -t4 -si %TESTDRIVE%
    
  9. Prueba el ancho de banda de operaciones de escritura secuenciales.

    diskspd -d60 -b1M -o64 -Sh -t4 -si -w100 %TESTDRIVE%
    
  10. Limpia el Persistent Disk y la VM desechable:

    1. Borra el disco que se usa para comparar el rendimiento.
    2. Borra la VM creada para realizar comparativas del rendimiento.

¿Qué sigue?