Exécution des tests du disque dur

Découvrez les méthodes de diagnostic que vous pouvez utiliser pour vous assurer que l'infrastructure matérielle fonctionne correctement. Sous Linux, vous pouvez utiliser les commandes hdparm et dd ou l'application Bonnie++ pour déterminer le débit d'écriture sur le disque dur. Vous pouvez également utiliser la commande iostat pour déterminer l'utilisation moyenne du disque.

Détermination du débit d'écriture avec la commande hdparm

Dans le système d'exploitation Linux, il existe une commande intégrée hdparm utilisable pour déterminer le débit d'écriture du disque dur.

Procédure

Dans la console Linux, entrez hdparm -tpath_to_the_test_file
hdparm -t /dev/sda1
Timing buffered disk reads: 200 MB in 1.19 seconds = 167.47 MB/sec

Exécution du test de disque avec l'application DD

Pourquoi et quand exécuter cette tâche

Le test DD mesure l'accès au disque à unité d'exécution unique le plus basique : une grande écriture séquentielle, suivie d'une large lecture séquentielle. C'est pertinent pour l'effort de test des performances de base de données car cela vous octroie la vitesse maximale pour les analyses séquentielles de vastes tables.
Remarque : Vérifiez la taille de RAM sur l'ordinateur de test pour exécuter correctement un test DD et éviter la mise en cache du système de fichiers, ce qui peut fausser les résultats de test.

Procédure

  1. Créez un fichier faisant deux fois la taille de la capacité de RAM sur la machine de test et copiez-le sur le disque dur de l'ordinateur cible.

    Dans vos tests, utilisez une taille de bloc de 4 Ko car la taille de page par défaut de l'espace table DB2® utilisé par BigFix Inventory est de 4 Ko. Par exemple, si vous disposez de 16 Go de RAM, exécutez la commande suivante de sorte qu'un fichier de 32 Go nommé ddfile soit créé dans le répertoire en cours :

    time sh -c "dd if=/dev/zero of=ddfile bs=4k count=8000000 && sync".
    Remarque : Certaines implémentations de DD signalent le débit d'écriture, mais la commande de durée renvoie toujours la durée d'exécution supérieure à la durée DD. La durée et le débit signalés par DD représentent le débit sous retard ni temps de synchronisation. Divisez la taille des données par la durée signalée par la commande de durée pour obtenir le début d'écriture du fichier synchrone réel.
    Exemple :
    8000000+0 records in
    8000000+0 records out
    32768000000 bytes (32 GB) copied, 38.924 s, 842 MB/s
    real 3m49.192s
    user 0m0.450s
    sys 0m38.282s
    Dans cet exemple, le débit d'écriture y compris la mise en cache est de 842 Mo/s, mais y compris la durée de synchronisation, il est bien inférieur – seulement 136,46 Mo/s environ (32 Go / 3 minutes 49 secondes).
  2. Pour supprimer le cache du système de fichiers afin de lire directement à partir du disque ultérieurement, écrivez sur le disque un autre fichier volumineux : dd if=/dev/zero of=ddfile2 bs=4k count=4000000
  3. Lisez le premier fichier volumineux. Du fait que le cache du système de fichiers est rempli par le second fichier, ce test renvoie un résultat de débit de lecture valide :
    time dd if=ddfile of=/dev/null bs=4k
    8000000+0 records in
    8000000+0 records out
    32768000000 bytes (32 GB) copied, 186.456 seconds, 167.6 MB/s
    real 3m6.496s
    user 0m1.652s
    sys 0m10.753s
  4. Comparez les résultats avec ceux de la table Débits de lecture et d'écriture de disque moyens recommandés pour le serveur de base de données pour déterminer si votre stockage peut gérer la base de données DB2® pour votre environnement. Le système doit facilement pouvoir gérer une base de données de plus de 10 000 clients.

Détermination de l'utilisation du disque

Si les temps de réponse sont lents, vérifiez l'utilisation moyenne du disque avec la commande iostat. Des temps d'utilisation de disque supérieurs à 80 % peuvent réduire les performances d'entrée-sortie. Il est préférable d'avoir une utilisation moyenne du disque inférieure à 40 %.

Procédure

Dans la console Linux, saisissez iostat -xinterval duration
Où :
  • intervalle représente l'intervalle en secondes. Si aucun intervalle n'est indiqué, la sortie reflète les valeurs de l'intégralité de la période depuis la réinitialisation du système
  • durée représente la durée d'exécution de la commande.
Exemple :
iostat -x 30 5