Test de performances d’un disque sur Linux
Vous disposez d’un ou de plusieurs serveurs Linux ? Vous voulez tester les performances de votre disque en lecture/écriture ? Il existe plusieurs solutions, mais je ne vais en détailler que deux :
- la commande hdparm,
- une création/lecture de fichier avec la commande dd.
Test avec hdparm
hdparm est un utilitaire qui permet de modifier les paramètres d’un périphérique disque, mais il permet également de lancer un test de performance des temps de lecture via la commande :
hdparm -Tt /dev/sda
Ce qui donne sur mon serveur :
Paramètres :
- -t : test des performances de lecture,
- -T test des performances du cache.
Attention : la commande hdparm, si elle est mal utilisée, peut entraîner la corruption d’un disque.
Test avec la commande dd
La commande dd permet de créer, convertir et manipuler des fichiers sur Linux : en la combinant avec une autre commande et les bons paramètres, on peut en tirer les temps d’écriture et de lecture pour un fichier d’une taille donnée.
Le test de vitesse d’écriture se fait de la façon suivante :
time sh -c "dd if=/dev/zero of=/home/woueb bs=4096 count=256000 && sync"
On créé un fichier /home/woueb composé de 256000 blocs de 4Ko.
Et pour le test en lecture, on fait l’inverse : on lit le fichier /home/woueb précédemment créé.
time sh -c "dd if=/home/woueb of=/dev/zero bs=4096 count=256000 && sync"
Et voilà le travail !
Commentaire by Fabien — 14 avril 2011 @ 16:27
petite astuce avec dd (indiqué dans le man), il est possible de lui demander d’afficher la vitesse courante en lui envoyant un signal :
# envois de la commande dd en background et affection du pid
# à la variable pid
dd if=/dev/zero of=/tmp/testfile & pid=$!
# envois du signal USR1 pour déclencher
# l’affichage de la vitesse actuelle
kill -USR1 $pid
945217+0 records in
945217+0 records out
483951104 bytes (484 MB) copied, 5.65969 s, 85.5 MB/s
Peut être utile pour voir l’évolution de la vitesse ou la grapher
Commentaire by Fabien — 14 avril 2011 @ 16:28
(bien sur ne pas oublier de killer le dd au bout d’un moment … kill -9 $pid )
Commentaire by Romain — 14 avril 2011 @ 16:36
@Fabien > Merci pour l’astuce supplémentaire !
Sinon pour grapher l’évolution de la vitesse, on peut aussi utiliser d’autres outils, type iozone.
Commentaire by nozov — 28 avril 2011 @ 22:56
Avec
dd if=/dev/sdaX of=/dev/null
où X est un numéro de partition sur le disque, on pourra noter les différences de débit en fonction de l’endroit où se situe la partition sur le disque.