En este documento se describe cómo medir el rendimiento de Persistent Disk en instancias de máquina virtual (VM) de Windows. En el caso de las máquinas virtuales Linux, consulta Hacer comparativas del rendimiento de Persistent Disk en una máquina virtual Linux.
Para medir las IOPS y el rendimiento de un disco en uso en una instancia en ejecución, ejecuta una prueba comparativa del sistema de archivos con la configuración prevista. Usa esta opción para probar una carga de trabajo realista sin perder el contenido de tu disco. Ten en cuenta que, al comparar el rendimiento del sistema de archivos en un disco, hay muchos factores específicos de tu entorno de desarrollo que pueden afectar a los resultados de la prueba comparativa, por lo que es posible que no alcances los límites de rendimiento del disco.
Para medir el rendimiento sin procesar de un disco persistente, haz una comparativa del dispositivo de bloque directamente. Usa esta opción para comparar el rendimiento del disco sin procesar con los límites de rendimiento del disco.
En las máquinas virtuales C4, Windows admite una profundidad máxima de 1024 por cola de envío de dispositivos. Cuando se llena una cola, Windows deja de enviar E/S hasta que la cola se haya vaciado parcialmente, lo que reduce significativamente el rendimiento. Para evitar que se active esta condición, te recomendamos que limites las cargas de trabajo de las pruebas comparativas a una profundidad de cola agregada de 1024 por volumen conectado.
Configurar el software de comparativas
Para comparar el rendimiento de Persistent Disk en máquinas virtuales Windows, usa DISKSPD
.
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
Comparar las IOPS y el rendimiento de un disco en una instancia de VM en ejecución
Para medir las IOPS y el rendimiento de una carga de trabajo realista en un disco activo de una instancia de VM en ejecución sin perder el contenido del disco, realiza una prueba comparativa con un nuevo directorio del sistema de archivos.
En los siguientes pasos, se da por hecho que el disco que se va a probar está montado como D:
y que los comandos se ejecutan en una ventana de Símbolo del sistema (cmd.exe) que tiene privilegios de administrador:
Verifica la configuración del software de
DISKSPD
y cambia el directorio al binario de 64 bits:cd C:\DISKSPD\amd64
Crea un archivo de 10 GB llamado
DISKTEST.DAT
en el disco:set TESTFILE=D:\DISKTEST.DAT diskspd -d0 -c10G %TESTFILE%
Prueba el rendimiento de escritura realizando escrituras secuenciales con varias secuencias paralelas (16 o más), usando un tamaño de bloque de E/S de 1 MB y una profundidad de E/S de al menos 64:
diskspd -d300 -b1M -o64 -Sh -w100 -t16 -si %TESTFILE%
Prueba las IOPS de escritura realizando escrituras aleatorias con un tamaño de bloque de E/S de 4 KB y una profundidad de E/S de al menos 256:
diskspd -d300 -b4K -o256 -Sh -w100 -r %TESTFILE%
Prueba el rendimiento de lectura realizando lecturas secuenciales con varias secuencias 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 -d300 -b1M -o64 -Sh -t16 -si %TESTFILE%
Prueba las IOPS de lectura realizando 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 -d300 -b4K -o256 -Sh -r %TESTFILE%
Limpieza:
del %TESTFILE%
Hacer comparativas del rendimiento sin formato de Persistent Disk
Para medir el rendimiento de los volúmenes de Persistent Disk por sí solos fuera de tu entorno de desarrollo, prueba el rendimiento de lectura y escritura de un dispositivo de bloque en un Persistent Disk y una VM desechables.
Añade un disco persistente a la instancia de VM que quieras usar como referencia.
Verifica la configuración del software de
DISKSPD
y cambia el directorio al binario de 64 bits:cd C:\DISKSPD\amd64
Verifica que no haya particiones no reservadas en el disco. Introduce
diskpart
en una ventana elevada del símbolo del sistema.diskpart
Lista los discos conectados a la VM:
DISKPART> list disk
En el resultado se muestra el disco de 1 TB que se acaba de crear, que es el disco 1 en el siguiente ejemplo:
Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 120 GB 1024 KB * Disk 1 Online 1024 GB 1023 GB *
Selecciona el disco que quieras analizar.
DISKPART> select disk 1
Lista 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
Seleccione la partición primaria 2:
DISKPART> select partition 2
Elimina la partición seleccionada:
DISKPART> delete partition
Salir de diskpart
DISKPART> exit
Los pasos anteriores deben repetirse si el disco que quieres analizar tiene otras particiones además de la partición reservada. Cuando solo quede la partición reservada, sigue estos pasos:
Una vez que hayas identificado el disco y verificado que no tiene particiones, asigna a la variable de entorno
TESTDRIVE
el valor '#' seguido del número del disco que quieras probar.C:/> set TESTDRIVE=#1
Prueba el rendimiento de escritura realizando escrituras secuenciales con varias secuencias paralelas (16 o más), usando un tamaño de bloque de E/S de 1 MB y una profundidad de E/S de al menos 64:
diskspd -d300 -b1M -o64 -Sh -t16 -si -w0 %TESTDRIVE%
Prueba las IOPS de escritura realizando escrituras aleatorias con un tamaño de bloque de E/S de 4 KB y una profundidad de E/S de al menos 256:
diskspd -d300 -b4K -o256 -Sh -r -w0 %TESTDRIVE%
Latencia de escritura de prueba. Durante las pruebas de latencia de E/S, la VM no debe alcanzar el ancho de banda ni las IOPS máximas. De lo contrario, la latencia observada no reflejará la latencia de E/S real del disco persistente.
diskspd -d300 -b4K -o4 -Sh -r -w0 -L %TESTDRIVE%
Prueba el rendimiento de lectura realizando lecturas secuenciales con varias secuencias paralelas (16 o más), usando un tamaño de bloque de E/S de 1 MB y una profundidad de E/S de al menos 64:
diskspd -d300 -b1M -o64 -Sh -t16 -si %TESTDRIVE%
Prueba las IOPS de lectura realizando 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 -d300 -b4K -o256 -Sh -r %TESTDRIVE%
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 ni de capacidad durante esta prueba, ya que, cuando el disco persistente alcance su límite de saturación, rechazará las operaciones de E/S entrantes, lo que se reflejará como un aumento artificial de la latencia de E/S.
diskspd -d300 -b4K -o4 -Sh -r -L %TESTDRIVE%
Prueba el ancho de banda de lectura secuencial.
diskspd -d300 -b1M -o64 -Sh -t4 -si %TESTDRIVE%
Prueba el ancho de banda de escritura secuencial.
diskspd -d300 -b1M -o64 -Sh -t4 -si -w100 %TESTDRIVE%
Limpia el disco persistente y la VM desechables:
- Elimina el disco que se ha usado para comparar el rendimiento.
- Elimina la VM que has creado para comparar el rendimiento.
Siguientes pasos
- Consulta cómo monitorizar el rendimiento de tu disco revisando las métricas de rendimiento del disco persistente.
- Consulta información sobre los precios de Persistent Disk.
- Consulta cómo optimizar el rendimiento de los discos persistentes.