Commandes de test de performance Linux


Stockage

Désactiver le cache Linux

hdparm -W 0 /dev/sda 0

Bande passante et IOPS

  • Ecrire avec O_DIRECT bypass le cache de page kernel
  • Ecrire avec D_SYNC s'assure que l'ensemble des écritures soient complètes avant de rendre la #### FIO
    main
    Le nombre de job (numjobs) doit être augmenté petit à petit jusqu'à ce que les performances n'augmentent plus
    Atention: test destructif, pour un test non destructif, ecrire un fichier sur le FS plutôt que sur le périphérique
fio --filename=/dev/sda --direct=1 --sync=1 --rw=write --bs=4k --numjobs=1 --iodepth=1 --runtime=60 --time_based --group_reporting --name=journal-test
  • --filename: Périphérique ou fichier à tester
  • --direct: Ecriture avec O_DIRECT (bypass Kernel page cache)
  • --sync: Ecriture avec O_DSYNC (pas d'ACK avant que les écritures soient complètes)
  • --rw: Pattern d'IO (ex. sequential writes, les journaux sont toujours sequentiels)
  • --bs: block size ; des IO de 4K représente le worst case, a adapter en fonction du workload
  • --numjobs: Nombre de threads à lancer
  • --iodepth: Envois des IO une par une
  • --runtime: Temps du job en secondes
  • --time_based: Job basé sur le temps
  • --group_reporting: Reporting en groupant les jobs plutôt qu'un rapport par job
  • --name: Un petit nom pour la route

DD

Atention: tests destructif, pour un test non destructif, ecrire un fichier sur le FS plutôt que sur le périphérique

  • Test Bande passante
dd if=/dev/zero of=/dev/sda bs=1G count=1 oflag=direct,dsync
  • Test IO
dd if=/dev/urandom of=randfile bs=1M count=1024 && sync
dd if=randfile of=/dev/sda bs=4k count=100000 oflag=direct,dsync