2009-07-29 6 views

Répondre

15

outil: fio

lien: http://freshmeat.net/projects/fio/

test de disque physique IO:

./fio examples/disk-zone-profile 

paramètre de la série: r séquentiel/w: rw = lecture ou rw = écrire r aléatoire/w: rw = randread ou rw = randwrite

32

L'E/S et le système de fichiers sont un sujet complexe. Aucun outil d'analyse comparative n'est bon dans toutes les situations. Voici un petit aperçu des différents outils d'analyse comparative:

Bloc de stockage:

  • IOMeter - Hautement personnalisable et permet de coordonner plusieurs clients. Nécessite un PC Windows pour l'application de coordination. Développé par Intel. Sur Linux, prenez les taux maximum de plus vieux (au moins 2006.07.27 et plus tôt) avec une pincée de sel parce que la méthode de soumission n'était pas optimale.

File System (synthétique):

  • FFSB - Benchmark flexible Filesystem. Benchmarking très soigné pour Linux. Bonne personnalisation de la charge de travail. NFS benchmarking (net-ffsb) un peu malsain.
  • Filebench - Extrêmement puissant, mais développé à l'origine pour Solaris. Le support de Linux n'est pas bon. Sysbench - Principalement un outil d'analyse comparative de base de données, mais aussi un outil d'analyse de base du système de fichiers.
  • bonnie - Semble être obsolète.
  • bonnie++ - Port C++ de Bonnie. Facile, mais ne semble pas très personnalisable.

système de fichiers (charge de travail):

  • Postmark - Simule le comportement IO d'un serveur de messagerie. Trop petit pour stresser les bons systèmes d'E/S.

Stony Brook University et IBM Watson Labs ont publié un document de revue fortement recommandé dans le "Transaction of Storage" sur l'analyse comparative du système de fichiers, dans lequel ils présentent différents points de référence et leurs points forts et faibles: A nine year study of file system and storage benchmarking. L'article souligne clairement que les résultats de la plupart des repères au moins discutable.


Une note: est la programmation des questions connexes? Peut-être pas, mais peut-être que c'est le cas. Je passe beaucoup de temps à comparer les performances d'E/S des systèmes que je développe. Au moins pour moi, des questions sur la façon de comparer ces choses est hautement liée à la programmation. S'il vous plaît: Ne fermez pas toutes les questions qui ne sont pas liées au développement/à la programmation de votre point de vue. Le point de vue des autres développeurs pourrait être différent.

+1

+1 - Une bonne liste d'outils et le papier Transactions on Storage est une bonne référence. Fstress: http://www.cs.duke.edu/ari/fstress/ –

3

vous devez spécifier ce que vous testez, sinon les tests ne seront qu'induisus. Il existe différents aspects des performances d'E/S que vous devez choisir pour optimiser et différents paramètres à utiliser.

Vos paramètres système:

    périphérique de stockage
  1. : HDD, SSD (qui?), Raid (qui?)
  2. système de fichiers
  3. , taille de bloc, le mode journal
  4. cache de fichiers
  5. , seuils sales, montant de la mémoire
  6. planificateur IO, ses tunables
  7. nombre de processeurs
  8. version du noyau

Vos paramètres de test:

  1. lecture ou d'écriture des performances?
  2. séquentiel ou aléatoire?
  3. 1 thread ou multiple?
  4. taille des demandes
  5. optimiser pour le débit ou demander un délai?
3

Il existe un excellent programme pour tester les E/S de stockage de bloc sous Unix appelé IORATE. Vous pouvez en obtenir une copie sur iorate.org.

Il peut générer des E/S mixtes complexes, y compris la réutilisation (hits) et les zones chaudes pour les tests de stockage hiérarchisé.

+0

iorate.org semble déconnecté, mais les téléchargements sont toujours disponibles sur https: //sites.google.com/site/vwiorate/home – Stickley

6
dd if=/dev/sda of=/dev/null 

Laissez-le s'exécuter pendant quelques minutes et arrêtez-le avec ctrl + C. Il imprimera la vitesse de transfert de lecture de votre lecteur/contrôleur. C'est la vitesse de lecture maximale que vous pouvez obtenir sur votre disque.

3

sysbench

Voir http://www.howtoforge.com/how-to-benchmark-your-system-cpu-file-io-mysql-with-sysbench

Exemple

sysbench --test=fileio --file-total-size=150G prepare 

sysbench --test=fileio --file-total-size=150G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run 

Il peut également tester cpu, mémoire, threads, et les performances du serveur de base de données,

Il est génial.

ou logiciel de test écrit en java: http://www.dacapobench.org/

7

si vous avez besoin d'un moyen rapide sans tracas d'installer quoi que ce soit.Ceci est la méthode que je l'utilise pour test d'écriture de vitesse:

dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync 

Et la sortie est quelque chose comme ça

[email protected]:/# dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync 
16384+0 records in 
16384+0 records out 
1073741824 bytes (1.1 GB) copied, 4.86922 s, 221 MB/s 

également: supprimer le fichier de test après pour récupérer l'espace supplémentaire utilisé

Une explication:

Ajustez ces paramètres pour modifier la taille du fichier écrit selon les spécifications de votre serveur et le temps que vous voulez passer à écrire.

la vitesse de lecture comme suggéré déjà par gtsouk, peut être vérifiée en utilisant/dev/null comme sortie.

+1

N'oubliez pas de tester sudo rm quand vous avez terminé! –

Questions connexes