Effectuer l'analyse comparative des performances de disques persistants sur une VM Windows


Ce document explique comment comparer les performances des disques persistants sur les instances de machine virtuelle (VM) Windows. Pour les VM Linux, consultez la page Effectuer l'analyse comparative des performances des disques persistants sur une VM Linux.

Pour mesurer les IOPS et le débit d'un disque utilisé sur une instance en cours d'exécution, effectuez l'analyse du système de fichiers avec la configuration souhaitée. Utilisez cette option pour tester une charge de travail réaliste sans perdre le contenu de votre disque existant. Notez que lorsque vous comparez le système de fichiers sur un disque existant, de nombreux facteurs propres à votre environnement de développement peuvent affecter les résultats de l'analyse comparative. Vous risquez donc de ne pas atteindre les limites de performances des disques.

Pour mesurer les performances brutes d'un disque persistant, évaluez directement le périphérique en mode bloc. Utilisez cette option pour comparer les performances brutes des disques avec les limites de performances des disques.

Configurer le logiciel d'analyse comparative

Pour comparer les performances des disques persistants sur des VM Windows, utilisez DISKSPD.

  1. Connectez-vous à votre instance de VM.

  2. Ouvrez Powershell et téléchargez l'outil DISKSPD à l'aide de la commande suivante:

    $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
    

Effectuer l'analyse comparative des IOPS et du débit d'un disque sur une instance de VM en cours d'exécution

Si vous souhaitez mesurer les IOPS et le débit pour une charge de travail réaliste sur un disque actif sur une instance de VM en cours d'exécution sans perdre le contenu de votre disque, effectuez l'analyse comparative sur un nouveau répertoire sur le système de fichiers existant.

Dans les étapes suivantes, nous partons du principe que le disque à tester est installé en tant que D: et que les commandes sont exécutées dans une fenêtre Invite de commande avec élévation de privilèges:

  1. Connectez-vous à votre VM.

  2. Vérifiez la configuration du logiciel DISKSPD et remplacez le répertoire par le binaire 64 bits:

    cd C:\DISKSPD\amd64
    
  3. Créez un fichier de 10 Go nommé DISKTEST.DAT sur le disque:

    set TESTFILE=D:\DISKTEST.DAT
    diskspd -d0 -c10G %TESTFILE%
    
  4. Testez le débit en écriture à l'aide d'écritures séquentielles comportant plusieurs flux parallèles (16 ou plus). Prévoyez une taille de bloc d'E/S de 1 Mo et une profondeur d'E/S d'au moins 64 :

    diskspd -d60 -b1M -o64 -Sh -w100 -t16 -si %TESTFILE%
    
  5. Testez les IOPS en écriture à l'aide d'écritures aléatoires. Prévoyez une taille de bloc d'E/S de 4 ko et une profondeur d'E/S d'au moins 256 :

    diskspd -d60 -b4K -o256 -Sh -w100 -r %TESTFILE%
    
  6. Testez le débit en lecture à l'aide de lectures séquentielles comportant plusieurs flux parallèles (16 ou plus). Prévoyez une taille de bloc d'E/S de 1 Mo et une profondeur d'E/S d'au moins 64 :

    diskspd -d60 -b1M -o64 -Sh -t16 -si %TESTFILE%
    
  7. Testez les IOPS en lecture à l'aide de lectures aléatoires. Prévoyez une taille de bloc d'E/S de 4 ko et une profondeur d'E/S d'au moins 256 :

    diskspd -d60 -b4K -o256 -Sh -r %TESTFILE%
    
  8. Effectuer un nettoyage :

    del %TESTFILE%
    

Analyse comparative des performances brutes des disques persistants

Pour mesurer les performances des volumes Persistent Disk uniquement en dehors de votre environnement de développement, testez les performances de lecture et d'écriture pour un périphérique en mode bloc sur un disque persistant et une VM non critiques.

  1. Créer et démarrer une instance de VM.

  2. Ajoutez un disque Persistent Disk à l'instance de VM que vous souhaitez analyser.

  3. Connectez-vous à votre instance de VM.

  4. Vérifiez la configuration du logiciel DISKSPD et remplacez le répertoire par le binaire 64 bits:

    cd C:\DISKSPD\amd64
    
  5. Vérifiez qu'il n'existe aucune partition non réservée sur le disque. Saisissez diskpart dans une fenêtre Invite de commande avec élévation de privilèges.

    diskpart
    
  6. Répertoriez les disques associés à la VM:

    DISKPART> list disk
    

    Le résultat affiche le disque de 1 To que vous venez de créer, qui correspond au disque 1 dans l'exemple de résultat suivant:

      Disk ###  Status         Size     Free     Dyn  Gpt
      --------  -------------  -------  -------  ---  ---
      Disk 0    Online          120 GB  1024 KB        *
      Disk 1    Online         1024 GB  1023 GB        *
    
  7. Sélectionnez le disque que vous souhaitez analyser.

    DISKPART> select disk 1
    
  8. Répertoriez les partitions sur le disque sélectionné.

    DISKPART> list partition
    
       Partition ###  Type              Size       Offset
       -------------  ----------------  --------   -------
       Partition 1    Reserved              15 MB    17 KB
       Partition 2    Primary             1024 GB    16 MB
    
  9. Sélectionnez la partition principale 2:

    DISKPART> select partition 2
    
  10. Supprimez la partition sélectionnée:

    DISKPART> delete partition
    
  11. Quittez l'utilitaire DiskPart

    DISKPART> exit
    

Les étapes précédentes doivent être répétées si le disque que vous souhaitez comparer possède d'autres partitions en dehors de la partition réservée. Lorsque seule la partition réservée reste disponible, passez aux étapes suivantes:

  1. Après avoir identifié le disque et vérifié qu'il n'y a pas de partition, définissez la variable d'environnement TESTDRIVE sur "#" suivie du numéro du disque à tester.

    C:/> set TESTDRIVE=#1
    
  2. Testez le débit en écriture à l'aide d'écritures séquentielles comportant plusieurs flux parallèles (16 ou plus). Prévoyez une taille de bloc d'E/S de 1 Mo et une profondeur d'E/S d'au moins 64 :

    diskspd -d60 -b1M -o64 -Sh -t16 -si -w0 %TESTDRIVE%
    
  3. Testez les IOPS en écriture à l'aide d'écritures aléatoires. Prévoyez une taille de bloc d'E/S de 4 ko et une profondeur d'E/S d'au moins 256 :

    diskspd -d60 -b4K -o256 -Sh -r -w0 %TESTDRIVE%
    
  4. Testez la latence en écriture. Lors du test de la latence par E/S, la VM ne doit pas atteindre la limite de bande passante ou d'IOPS, sinon la latence observée ne reflétera pas la latence réelle des E/S du disque persistant.

    diskspd -d60 -b4K -o4 -Sh -r -w0 -L %TESTDRIVE%
    
  5. Testez le débit en lecture à l'aide de lectures séquentielles comportant plusieurs flux parallèles (16 ou plus). Prévoyez une taille de bloc d'E/S de 1 Mo et une profondeur d'E/S d'au moins 64 :

    diskspd -d60 -b1M -o64 -Sh -t16 -si %TESTDRIVE%
    
  6. Testez les IOPS en lecture à l'aide de lectures aléatoires. Prévoyez une taille de bloc d'E/S de 4 ko et une profondeur d'E/S d'au moins 256 :

    diskspd -d60 -b4K -o256 -Sh -r %TESTDRIVE%
    
  7. Pour tester la latence en lecture, il est important de remplir le disque avec des données afin d'obtenir une mesure de latence réaliste. La VM ne doit pas atteindre les limites d'IOPS ni de débit lors de ce test : une fois qu'un disque persistant atteint sa limite de saturation, il repousse toute opération entrante d'E/S, ce qui se traduit par une augmentation artificielle de Latence des E/S.

    diskspd -d60 -b4K -o4 -Sh -r -L %TESTDRIVE%
    
  8. Testez la bande passante en lecture séquentielle.

    diskspd -d60 -b1M -o64 -Sh -t4 -si %TESTDRIVE%
    
  9. Testez la bande passante en écriture séquentielle.

    diskspd -d60 -b1M -o64 -Sh -t4 -si -w100 %TESTDRIVE%
    
  10. Effectuez un nettoyage du volume Persistent Disk et de la VM non critiques :

    1. Supprimez le disque utilisé pour l'analyse comparative des performances.
    2. Supprimez la VM créée pour l'analyse comparative des performances.

Étapes suivantes