Comment puis-je utiliser la commande dd sur un Linux pour tester les performances d’E / S de mon disque dur? Comment vérifier les performances d’un disque dur, y compris la vitesse de lecture et d’écriture sur un système d’exploitation Linux? Comment puis-je utiliser la commande dd sous Linux I /O performance test ?
Vous pouvez utiliser les commandes suivantes sur un système de type Linux ou Unix pour un test de performances d’E/S séquentielles simples:
- commande dd : Il est utilisé pour surveiller les performances d’écriture d’un périphérique disque sur un système de type Linux et Unix.
Détails du tutoriel Difficulté Intermédiaire (rss) Privilèges root Oui Exigences jj Temps 15m - commande hdparm: Elle est utilisée pour obtenir / définir les paramètres du disque dur, y compris tester les performances de lecture et de mise en cache d’un périphérique de disque sur un système basé sur Linux.
Dans ce tutoriel, vous apprendrez à utiliser la commande dd pour tester les performances des E /S de disque.
- Utilisez la commande dd pour surveiller les performances de lecture et d’écriture d’un périphérique de disque :
- Comprendre les options de commande dd
- Recherche du temps de latence du serveur
- Mais pourquoi le débit du serveur et le temps de latence sont-ils si bas ?
- Utilisez la commande hdparm pour voir la vitesse de lecture du disque mis en mémoire tampon et en cache
- Utilisez la commande dd sous Linux pour tester la vitesse de lecture
- Exemple d’ordinateur portable Linux
- Exemple Apple OS X Unix (Macbook pro)
- Pas fan des outils de ligne de commande… ?
- Méthode graphique
- Outil Disques en cours d’exécution sous Ubuntu 20.04 LTS:
- Quelle méthode et quelle commande recommandez-vous d’utiliser pour tester les performances des E/S de disque ?
- Conclusion
Utilisez la commande dd pour surveiller les performances de lecture et d’écriture d’un périphérique de disque :
La commande dd est utile pour connaître les performances d’E/S séquentielles simples.
Comprendre les options de commande dd
Dans cet exemple, j’utilise un tableau RAID-10 (Adaptec 5405Z avec SSD SAS) s’exécutant sur un serveur Ubuntu Linux 14.04 LTS. La syntaxe de base est la suivante pour connaître le débit du serveur :
Exemples de sorties:
Fig.01: Serveur Ubuntu Linux avec RAID10 et débit du serveur de test avec dd
Veuillez noter qu’un gigaoctet a été écrit pour le test et que le débit du serveur pour ce test était de 135 Mo/ s. Où,
- if =/dev/zero (if=/dev/input.fichier) : Le nom du fichier d’entrée que vous souhaitez lire.
- de =/tmp/test1.img(de =/chemin/vers/ sortie.fichier): Le nom du fichier de sortie que vous souhaitez que dd écrive l’entrée.fichier à.
- bs=1G (bs= taille de bloc): Définit la taille du bloc que vous souhaitez que dd utilise. 1 gigaoctet a été écrit pour le test. Veuillez noter que Linux aura besoin de 1 Go d’espace libre en RAM. Si votre système de test n’a pas suffisamment de RAM disponible, utilisez un paramètre plus petit pour bs (par exemple 128 Mo ou 64 Mo, etc.).
- count= 1 (count= nombre de blocs): Le nombre de blocs que vous souhaitez lire dd.
- oflag=dsync(oflag=dsync) : Utilisez des E/S synchronisées pour les données. Ne sautez pas cette option. Cette option se débarrasse de la mise en cache et vous donne des résultats bons et précis
- conv=fdatasyn: Encore une fois, cela indique à dd d’exiger une « synchronisation » complète une fois, juste avant sa sortie. Cette option est équivalente à oflag=dsync.
Recherche du temps de latence du serveur
Dans cet exemple, 512 octets ont été écrits mille fois pour obtenir le temps de latence du serveur RAID10:
dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync
Exemples de sorties:
1000+0 records in1000+0 records out512000 bytes (512 kB) copied, 0.60362 s, 848 kB/s
Veuillez noter que le débit et le temps de latence du serveur dépendent également de la charge du serveur/de l’application. Je vous recommande donc d’exécuter ces tests sur un serveur nouvellement redémarré ainsi que sur l’heure de pointe pour avoir une meilleure idée de votre charge de travail. Vous pouvez maintenant comparer ces chiffres avec tous vos appareils.
Mais pourquoi le débit du serveur et le temps de latence sont-ils si bas ?
Des valeurs faibles ne signifient pas que vous utilisez du matériel lent. La valeur peut être faible en raison du cache du contrôleur RAID10 MATÉRIEL.
Utilisez la commande hdparm pour voir la vitesse de lecture du disque mis en mémoire tampon et en cache
Je vous suggère d’exécuter les commandes suivantes 2 ou 3 fois Pour effectuer des timings de lectures de périphériques à des fins de référence et de comparaison:
### Buffered disk read test for /dev/sda ##hdparm -t /dev/sda1## OR ##hdparm -t /dev/sda
Pour effectuer les timings des lectures de cache à des fins de référence et de comparaison, exécutez à nouveau la commande suivante 2 à 3 fois (notez l’option -T):
## Cache read benchmark for /dev/sda ###hdparm -T /dev/sda1## OR ##hdparm -T /dev/sda
OU combinez les deux tests:
hdparm -Tt /dev/sda
Exemples de sorties:
Fig.02: Commande Linux hdparm pour tester la lecture et la mise en cache des performances du disque
Notez à nouveau qu’en raison de la mise en cache des systèmes de fichiers sur les opérations de fichiers, vous verrez toujours des taux de lecture élevés.
Utilisez la commande dd sous Linux pour tester la vitesse de lecture
Pour obtenir des données de test de lecture précises, jetez d’abord les caches avant de tester en exécutant les commandes suivantes:
flushecho 3 | sudo tee /proc/sys/vm/drop_cachestime dd if=/path/to/bigfile of=/dev/null bs=8k
Exemple d’ordinateur portable Linux
Exécutez la commande suivante:
Exemple Apple OS X Unix (Macbook pro)
GNU dd a beaucoup plus d’options, mais la commande OS X / BSD et la commande dd de type Unix doivent s’exécuter comme suit pour tester les E / S de disque réel et non l’option de synchronisation d’ajout de mémoire comme suit:
## Run command 2-3 times to get good results ###time sh -c "dd if=/dev/zero of=/tmp/testfile bs=100k count=1k && sync"
Exemples de sorties:
1024+0 records in1024+0 records out104857600 bytes transferred in 0.165040 secs (635346520 bytes/sec) real0m0.241suser0m0.004ssys0m0.113s
J’obtiens donc une vitesse d’écriture de 635346520 octets (635,347 Mo / s) sur mon MBP.
Pas fan des outils de ligne de commande… ?
Vous pouvez utiliser l’utilitaire de disque (gnome-disk-utility) sur un système Linux ou Unix pour obtenir les mêmes informations. La capture d’écran suivante est tirée de ma machine virtuelle Fedora Linux v22 et de mon bureau Ubuntu 20.04:
Méthode graphique
Cliquez sur « Activités » ou appuyez sur la touche « Super » pour basculer entre l’aperçu des activités et le bureau. Type » Disques »
Fig.03: Démarrez l’utilitaire de disque Gnome
Sélectionnez votre disque dur dans le volet gauche et cliquez sur le bouton configurer et cliquez sur « Partition de référence »:
Fig.04: Benchmark disk / partition
Enfin, cliquez sur le bouton « Démarrer Benchmark… » (vous pouvez être promu pour le nom d’utilisateur et le mot de passe de l’administrateur):
Fig.05: Résultat de référence final
Outil Disques en cours d’exécution sous Ubuntu 20.04 LTS:
- Tout d’abord, ouvrez les disques à partir de la vue d’ensemble des activités.
- Choisissez ensuite le disque dans la liste du volet de gauche.
- Sélectionnez le bouton menu et sélectionnez Disque de référence… dans le menu.
- Cliquez sur Démarrer le Benchmark… et ajustez les paramètres de Taux de transfert et de Temps d’accès comme vous le souhaitez.
- Enfin, cliquez sur Démarrer l’analyse comparative pour tester la vitesse de lecture des données à partir du disque. Des privilèges administratifs peuvent être requis. Entrez votre mot de passe ou le mot de passe du compte administrateur système demandé.
Testez les performances de votre disque dur en utilisant ‘Disks’
Quelle méthode et quelle commande recommandez-vous d’utiliser pour tester les performances des E/S de disque ?
- Je recommande la commande dd sur tous les systèmes de type Unix (time sh-c « dd if =/dev/ zero of =/tmp/testfile bs = 100k count = 1k & & sync »))
- Si vous utilisez GNU/ Linux, utilisez la commande dd (dd if =/dev/zero of =/tmp/testALT.img bs = 1G count = 1 conv = fdatasync)
- Assurez-vous d’ajuster les arguments count et bs selon votre configuration pour obtenir un bon ensemble de résultats.
- La méthode GUI est recommandée uniquement pour les utilisateurs d’ordinateurs portables Linux/Unix exécutant Gnome 2 ou 3 desktop.
- Pour une analyse comparative détaillée des performances des E/S, utilisez la commande fio
- Nous utilisons l’IOzone. C’est un outil de référence du système de fichiers. Le benchmark génère et mesure une variété d’opérations de fichiers.
Conclusion
Vous avez appris à utiliser le dd sous Linux ou Unix pour tester une mesure de performance d’E/S simple et séquentielle. Pour une analyse comparative détaillée des performances des E/S, essayez le « Testeur d’E/S Flexible (FIO) » pour Unix ou Linux. Voir Comment Linux Vérifier la Vitesse de transfert du disque dur SATA / SATA et les pages de manuel: hdparm(1) pour plus d’informations.
Get Obtenez les derniers tutoriels sur Linux, Open Source & DevOps via un flux RSS ou une newsletter hebdomadaire par e-mail.
comments 14 commentaires jusqu’à présent… en ajouter un ↓
Catégorie | Liste des commandes Unix et Linux |
---|---|
Gestion des fichiers | cat |
Vous pouvez également utiliser la fonction de pare-feu de votre choix.04 | |
Utilitaires réseau | dig*host*ip*nmap |
OpenVPN | CentOS 7 * CentOS 8 * Debian 10 * Debian 8/9 * Ubuntu 18.04 * Ubuntu 20.04 |
Gestionnaire de paquets | apk * apt |
Gestion des processus | bg * chroot • cron * renier * fg * jobs * killall * kill * pidof • pstree • pwdx * time |
Recherche | grep * où est * lequel |
Informations utilisateur | groupes * id * lastcomm * last* lid / libuser-lid • logname * membres • utilisateurs * whoami * who* w |
VPN WireGuard | Alpine * CentOS 8 * Debian 10 * Pare-feu • Ubuntu 20.04 |