REMARQUE: Une version précédente de ce guide a été expliquée à l’aide de l’ancien utilitaire «SQLIO» de Microsoft. Cependant, Microsoft ne propose plus que l’utilitaire «Diskspd», qui remplace SQLIO. Nous avons donc mis à jour ce guide avec de toutes nouvelles instructions.
Pourquoi utiliser Diskspd?
Si vous souhaitez connaître la capacité d'E / S de vos disques, Diskspd est un excellent outil. Diskspd vous indiquera la capacité maximale qu'un disque dur de serveur peut gérer ou vous indiquera le disque dur le plus rapide que vous devriez utiliser pour les charges de travail lourdes (ou tout simplement pour les jeux PC exigeants) sur un ordinateur de bureau.
Par exemple, supposons que nous ayons trois lecteurs sur un serveur: un lecteur F, un lecteur G et un lecteur C. Si nous avons notre MDF sur le lecteur F, le LDF sur le lecteur G et notre système d'exploitation sur le lecteur C, nous pouvons évaluer l'efficacité de notre configuration. Par exemple, si le fichier MDF est le fichier le plus occupé avec le plus de lectures et d'écritures, nous souhaitons qu'il soit sur le lecteur le plus rapide.
Où télécharger Diskspd
Microsoft propose cet excellent outil gratuitement et vous pouvez le télécharger à partir de Microsoft Technet. Il est même open source, vous pouvez donc télécharger et inspecter ou modifier le code source à partir de GitHub.
Diskspd a été testé pour fonctionner sur les versions de bureau de Windows 7, 8, 8.1, 10, ainsi que Windows Server 2012, 2012 R2 et 2016 Technical Preview 5.
Une fois que vous l'avez téléchargé, vous devez extraire le contenu du fichier.zip dans un dossier de votre ordinateur. Notez que l’archive contient trois différents fichiers «diskspd.exe». Celui du dossier «amd64fre» concerne les ordinateurs Windows 64 bits, tandis que celui du dossier «x86fre» concerne les ordinateurs Windows 32 bits. Si vous utilisez une version 64 bits de Windows et que vous l’utilisez probablement, vous voudrez probablement utiliser la version 64 bits.
Comment effectuer un test d'effort?
Pour effectuer un seul test, vous pouvez simplement appeler une commande Diskspd à partir d'une invite de commande activée par l'administrateur. Sous Windows 10 ou 8.1, cliquez avec le bouton droit de la souris sur le bouton Démarrer et sélectionnez «Invite de commandes (Admin)». Sous Windows 7, localisez le raccourci «Invite de commandes» dans le menu Démarrer, cliquez dessus avec le bouton droit de la souris et sélectionnez «Exécuter en tant qu'administrateur.
Première utilisation
cd
pour basculer vers le répertoire contenant le Diskspd.exe que vous souhaitez utiliser:
cd c:path odiskspdamd64fre
Dans notre cas, cela ressemblait à la commande ci-dessous.
Toutefois, si vous souhaitez être opérationnel rapidement, voici un exemple de commande. La commande suivante définit la taille de bloc sur 16 Ko (-b16K), exécute un test de 30 secondes (-d30), désactive l’encaissement matériel et logiciel (-Sh), mesure les statistiques de latence (-L), utilise deux demandes d’IO par thread (- o2) et quatre threads (-t4) par cible, utilise un accès aléatoire plutôt que l'écriture séquentielle (-r), effectue 30% des opérations d'écriture et 70% des opérations de lecture (-w30).
Il crée un fichier dans c: testfile.dat de 50 Mo (-c50M). Par exemple, si vous souhaitez analyser votre lecteur D:, vous devez spécifier d: testfile.dat.
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: estfile.dat
Consultez les résultats et vous verrez la moyenne Mo / s atteinte par le lecteur au cours du test: combien d'opérations d'écriture ont été effectuées une seconde, combien d'opérations de lecture ont été effectuées une seconde et le nombre total d'opérations d'entrée / sortie (E / S) par seconde. Ces statistiques sont particulièrement utiles lorsque vous comparez plusieurs disques pour déterminer lequel est le plus rapide pour certaines opérations, mais elles vous indiqueront également la quantité d'E / S qu'un disque dur peut gérer.
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: estfile.dat > c: estresults.txt
Personnaliser votre commande de test de stress
Si vous essayez de déterminer le disque dur le plus rapide pour une charge de travail donnée, vous devez créer une commande qui correspond le mieux à cette charge de travail. Par exemple, s’il s’agit d’un serveur qui ne lit que des données et n’écrit pas, vous devez effectuer un test de 100% des lectures qui ne mesure aucune performance en écriture. Exécutez ce test de résistance sur plusieurs lecteurs et comparez les résultats pour déterminer lequel est le plus rapide pour ce type de travail.
Notez qu'il existe de nombreuses autres options de ligne de commande que vous pouvez spécifier pour Diskspd.exe. Vous trouverez la liste la plus complète et la plus à jour dans la documentation fournie avec le fichier téléchargé Diskspd.exe, mais voici quelques options importantes:
- - w indique le pourcentage d'opérations d'écriture et de lecture.Par exemple, si vous entrez -w40, vous réaliserez 40% d'écritures et donc 60% de lectures. La saisie de -w100 effectuera des opérations d’écriture à 100%. Si vous omettez le commutateur -w ou entrez -w0, vous effectuerez des opérations d'écriture à 0% et, par conséquent, des opérations de lecture à 100%.
- - r ou - s détermine si le test utilise un accès aléatoire ou des opérations séquentielles. Spécifiez -r pour un accès aléatoire ou -s pour un accès séquentiel. Cela vous permet de tester soit l’accès aléatoire à un fichier (souvent un ensemble de petits fichiers), soit un accès séquentiel à un fichier (souvent un gros fichier lu ou écrit simultanément).
- - t indique le nombre de threads qui seront exécutés en même temps, tels que -t2 pour deux threads ou -t6 pour six threads.
- - o indique le nombre de demandes en attente par thread, tel que -o4 pour quatre demandes ou -o2 pour deux résultats.
- - ré est la durée des tests en secondes, telle que -d90 pour 90 secondes ou -d120 pour 120 secondes.
- - b est la taille de bloc des lectures ou des écritures, telle que -b16K pour une taille de bloc de 16 Ko ou -b64K pour une taille de bloc de 64 Ko.
En utilisant ces options, vous pouvez modifier la commande benchmark pour voir comment votre disque se comporte sous différentes charges. Une fois que vous avez écrit une commande qui correspond approximativement au type de charge de travail que vous effectuez sur votre PC, vous pouvez tester plusieurs lecteurs et tester celui qui offre les meilleures performances.