Outils pour utilisateurs

Outils du site


hardwarebenchmarking

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

hardwarebenchmarking [2017/07/21 09:44] (Version actuelle)
Ligne 1: Ligne 1:
 +
 + ===== Statut =====
 +
 +Brouillon
 +
 + ===== Introduction =====
 +
 +Connaître son  système, permettre d'​appuyer une impression concernant une différence de performance ("ça marche moins bien aujourd'​hui"​) par des //​chiffres//​.
 +
 +Connaître l'​impact d'une modification de configuration,​ d'un changement de version, etc.
 +
 +2 principaux éléments à mesurer:
 +  * le débit (quantité de données par unité de temps)
 +  * la latence (combien de temps on attend les données)
 +
 +Principes : 
 +  * isoler les variables
 +  * faire tourner le benchmark plusieurs fois et faire une moyenne des résultats obtenus.
 +
 +Différences entre bm //​synthétiques//​ et //​applicatifs//​. LEs premiers testent des composants du système, les seconds vont tester l'​application en elle-même.
 +
 +Les bm //​bas-niveau//​ vont tester les éléments de base du système. Permet de comparer avec la datasheet du matériel et de s'​assurer que le matériel est correctement configuré et pris en charge par le système.
 +
 +Il est important d'​automatiser au maximum les différents bm afin de garantir la continuité des résultats d'un test à l'​autre.
 +
 +
 +
 + ===== Références =====
 +
 +
 +
 +BDD [[:​postgresql|Postgresql]] - Gestion des performances
 +
 +
 +
 + ===== Remarques =====
 +
 +
 +
 +À ne pas réaliser sur un serveur en production !
 +
 +
 +
 +Pour les tests de disque dur, et éviter de travailler avec le cache, utiliser une taille de fichier == 2xRAM.
 +
 +
 +
 + ===== Disque durs =====
 +
 +
 +
 +==== dd ====
 +
 +<​code>​
 +
 +time sh -c "dd if=/​dev/​zero of=bigfile bs=BLOCKSIZE count=250000xRAM en go && sync"
 +
 +time dd if=bigdile of=/​dev/​null bs=BLOCKSIZE
 +
 +</​code>​
 +
 +Faire un vmstat en parallèle
 +
 +Taille de bloc: 8ko pour[[:​postgresql| ]]
 +
 +==== bonnie ++ ====
 +
 +Informations intéressantes:​
 +
 +  * lecture séquentielles en mode bloc
 +  * lecture aléatoire en mode bloc
 +  * accès.
 +
 +<​code>​
 +
 +mkdir /foo
 +chown user /foo
 +bonnie++ -u useruid -r 1024 -n 256  -b -d /foo -s 20000
 +</​code>​
 +
 +  * -u 0 uid utilisé pour le test
 +  * -r RAM systme
 +  * -n nb de fichiers à créer
 +  * -b fsync à chaque écriture
 +  * -s au moins 2xRAM
 +
 +**remarque:​** le test tel que défini ci-dessus est extrémement long , donc inutilisable
 +==== sysbench ====
 +  * test=fileio
 +  * num-threads
 +  * file-num=RAM GB
 +  * file-test-mode=rndwr ou rndrd
 +  * file-fsync-freq=0
 +prepare, run --max-time=XXsec,​ cleanup
 +
 +  sysbench fileio --file-total-size=3G ​ prepare
 +  sysbench fileio --file-total-size=3G ​ --file-test-mode=rndrw --time=300 --events=50000 run
 +  sysbench fileio cleanup
 +
 +===== CPU =====
 +
 +[[hardinfo]]
 +
 +Compilation du [[:​noyau|noyau]]. Ne permet pas de comparer des systèmes entre eux.
 +
 +===== RAM =====
 +
 +
 +===== Réseau =====
 +
 +  *  copie d'un gros fichier via [[netcat|nc]]
 +  * copie du même fichier en utilisant le protocole à tester
 +  * comparaison
 +
 +
 +===== Suite complète =====
 +
 +[[:​phoronix|Phoronix test suite]]
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +# vim: set filetype=dokuwiki:​
  
hardwarebenchmarking.txt · Dernière modification: 2017/07/21 09:44 (modification externe)