Comment fonctionne l’utilitaire DiskSpd, qui permet de soumettre les disques durs et les disques SSD à des contraintes et de vérifier leurs performances réelles.
Les développeurs de Microsoft ont créé un utilitaire gratuit appelé DiskSpd qui vous permet de tester la vitesse des disques durs et des disques SSD à partir de la ligne de commande.
Le programme a été créé pour les administrateurs système et les personnes chargées de l’assemblage des machines serveurs, mais il peut être utilisé par toute personne intéressée.
DiskSpd permet de vérifier rapidement les performances d’un disque pour voir s’il est aussi rapide que décrit dans les spécifications du fabricant ; il permet également de comparer les performances en lecture et en écriture pour savoir lequel est le plus performant lorsqu’il est soumis à des charges de travail spécifiques.
DiskSpd est un programme utile lors de la configuration d’un serveur ou d’une station de travail devant exécuter des applications lourdes qui déclenchent un nombre élevé d‘opérations par seconde (IOPS).
L’utilitaire de Microsoft intègre de nombreuses options qui peuvent être utilisées pour lancer une sorte de test de résistance sur les disques durs et les disques SSD en mesurant les charges de travail en lecture et en écriture que chaque disque peut supporter. DiskSpd est compatible à la fois avec les systèmes clients Windows, tels que Windows 10 et Windows 11, et avec Windows Server.
Dans l’archive compressée de DiskSpd téléchargeable sur GitHub (cliquez sur le fichier DiskSpd.zip
). on trouve trois versions de l’utilitaire réparties en autant de dossiers : AMD64, ARM64 et x86. La première est destinée aux systèmes x86-64 (machines Windows 64 bits), la seconde à ceux basés sur la plateforme ARM 64 bits, et la troisième aux systèmes x86 32 bits.
Pour confirmer la plate-forme que vous utilisez, il suffit d’appuyer sur la combinaison de touches Windows+Pause
ou de taper PC Information dans le champ de recherche. Lisez ce qui est écrit à côté de Type de système.
Lancez l’analyse de la vitesse des disques durs et des SSD avec DiskSpd
Après avoir extrait la version qui vous intéresse dans un dossier du disque, vous pouvez ouvrir l’invite de commande avec des droits d’administrateur, puis vous rendre dans le dossier contenant le programme (exemple : cd c:\DiskSpd\AMD64
).
La commande suivante vous permet de lancer un test de vitesse du disque dur ou du lecteur SSD correspondant à la lettre d’identification C :
diskspd -d60 -W15 -C15 -c128M -t4 -o4 -b8k -L -r -Sh -w50 c:\speedtest.dat > c:\speedtest.txt && notepad c:\speedtest.txt
Cette commande lance un » test de résistance » du lecteur indiqué (dans ce cas, C 🙂 pendant 60 secondes (-d60
) en utilisant un fichier de 128 Mo (-c128M
).
L’option -t
indique le nombre de threads utilisés pour exécuter le benchmark : généralement, la valeur doit être égale au nombre de cœurs physiques du processeur. Le nombre de cœurs peut être trouvé en appuyant sur CTRL+SHIFT+ESC pour lancer le Gestionnaire des tâches, en cliquant sur Plus de détails, sur l’onglet Performance puis en vérifiant la valeur qui apparaît à côté de Cœurs.
Les autres paramètres permettent de spécifier le nombre de requêtes d’E/S en attente pour chaque thread (-o4
), la taille de bloc à utiliser (-b8k
), de générer des opérations d’E/S aléatoires (-r
), de désactiver les fonctions de cache matériel et logiciel (-Sh
), de spécifier le pourcentage de requêtes de lecture et d’écriture (la valeur -w50
autorise exactement la moitié des opérations d’écriture).
Enfin, les options -W15
et -C15
permettent de définir 15 secondes comme échauffement et refroidissement avant et après l’exécution du test.
Dans notre exemple, les résultats du test avec DiskSpd sont stockés dans le fichier c:\speedtest.txt
, qui est automatiquement ouvert avec le Bloc-notes à la fin du travail.
Le fichier c:\speedtest.dat
utilisé pour le test n’est pas automatiquement supprimé à la fin du test et peut alors être supprimé manuellement.
Test de vitesse sur les disques durs et SSD en mode lecture seule ou écriture seule
En utilisant toujours DiskSpd, il est possible de tester les performances en lecture seule séquentielle :
diskspd -d60 -c128M -t4 -o4 -b8k -L -Sh -w0 -si c:\speedtest.dat > c:\speedtest.txt && notepad c:\speedtest.txt
Remplacez w100
par w0
pour demander des écritures séquentielles.
La commande suivante peut être utilisée pour demander des opérations de lecture aléatoire :
diskspd -d60 -c128M -t4 -o4 -b8k -L -Sh -w0 c:\speedtest.dat > c:\speedtest.txt && notepad c:\speedtest.txt
Remplacez w100
par w0
pour les écritures aléatoires.
La première partie du rapport affiché par Notepad contient un résumé des préférences définies à partir de la ligne de commande, notamment la durée du test, les temps de préchauffage et de refroidissement, les statistiques de latence et d’autres détails.
La partie inférieure Résultats pour l’intervalle de temps 1 est une collection des informations les plus intéressantes de la charge de travail détectée sur le processeur pendant l’exécution du test. La colonne Idle indique le pourcentage de temps où le CPU est inactif.
Le tableau Total IO montre les lectures et écritures par thread. Il donne la performance moyenne en méga-octets par seconde, les opérations (lectures et écritures) qui ont été effectuées en une seconde et le total des entrées/sorties (IO).
L’information importante est le résultat en MiB/s, qui exprime la vitesse moyenne de lecture et d’écriture pour l’unité de stockage testée.
Les fabricants de solutions de stockage de données ont toujours utilisé des multiples décimaux, tandis que les fabricants de RAM et les développeurs de systèmes d’exploitation utilisent principalement le système binaire. Un mebibyte est constitué de 220 octets ou de 1 048 576 octets.
Pour convertir des mebibytes/s (MiB/s) en mégaoctets/s (MB/s), il suffit de multiplier par 1,048576.
Le tableau Read IO montre les statistiques de lecture par thread tandis que Write IO montre les statistiques d’écriture. Le tableau en bas de la page comprend des informations sur la latence en millisecondes (ms) mesurée.