Installation et utilisation de Filebench

 

https://blog.csdn.net/microsoft2014/article/details/60145433

Téléchargez et installez un
téléchargement recommandé filebench-1.5-alpha3.tar.gz, Téléchargement:
https://sourceforge.net/projects/filebench/files/1.5-alpha3/filebench-1.5-alpha3.tar.gz/download
auteur Test réussi sous Cent OS 6.7 et centos 7.6.
Installer
$ sudo tar -zxf filebench-1.5-alpha3.tar.gz -C / usr / local
$ yum installer gcc
$ yum installer flex bison
Après la décompression, vous devez installer gcc, lex et yacc (sous Linux, utilisez flex et bison au lieu de lex et yacc), car l'installation de suivi a besoin, sinon il y aura des problèmes.
$ cd /usr/local/filebench-1.5-alpha3
$. / configure
$ make
$ sudo make install
2. Commande Filebench

1. Entrez le fichier de charge de travail
cd / usr / local / share / filebench / workloads fourni avec les charges de travail
 2. Exécutez le test de fichier de charge de travail par défaut
    filebench -f webserver.f
    filebench -f fileserver.f
3. Vous pouvez également copier votre propre fichier Modifier le fichier de chargement de
cp fileserver.f expserver.f
. Les paramètres modifiables sont visibles dans l'interprétation des paramètres Filebench. Généralement, les principaux paramètres tels que dir, nfiles, filesize, nthreads, etc. sont modifiés. situation, certains fichiers doivent être ajoutés pour exécuter 60.. Ensuite, vous pouvez commencer à tester.
4. Ecrire un fichier .f personnalisé
Si le contenu qu'il contient ne peut pas répondre à vos besoins, vous pouvez également écrire votre propre fichier .f à des fins de test: WML (langage du modèle de charge de travail)
3. Interprétation des paramètres
Filebench file_num: nombre de fichiers
meandirwidth: créé dans chaque répertoire Le nombre de fichiers
taille du fichier: la taille du fichier de test
nthreads: le nombre de threads créés
iosize: la lecture et l'écriture spécifiée
iosize meanappendsize: la taille moyenne de l'ajout
runtime: runtime
non interactivement: non interactif (/ usr / local / share / filebench / workloads Il existe différents modèles dans le catalogue, qui peuvent tous être utilisés)
Si vous souhaitez exécuter Filebench en mode non interactif, vous pouvez utiliser l'option -f. Cependant, vous devez ajouter «run <time>» à la fin du fichier de personnalité de la charge de travail. Je préfère créer une copie du fichier de charge de travail d'origine pour cela:
root @ host # cp /usr/local/share/filebench/workloads/fileserver.f /tmp/fileserver-noninteractive.f
root @ host # vim / tmp / fileserver- noninteractive.f (ajoutez 'run 60' à la fin de ce fichier)
root @ host # filebench -f /tmp/fileserver-noninteractive.f

Après cela, vous verrez la sortie Filebench traditionnelle.

Deux points d'attention mentionnés dans le document:
1. Filebench active la randomisation de l'espace d'adressage par défaut (expliqué plus loin, qu'est-ce que la randomisation de l'espace d'adressage). Si vous testez la charge de plusieurs processus, vous pouvez choisir de désactiver cette option pour un fonctionnement stable. La méthode est la suivante: echo 0> / proc / sys / kernel / randomize_va_space
2. Si vous souhaitez augmenter la mémoire partagée de filebench, il existe deux méthodes:
   a. Exécutez en tant qu'utilisateur root. (Su)
   b. Echo 268435456> / proc / sys / kernel / randomize_va_space (augmenté à 256 Mo) à
exécuter
Vous pouvez choisir d'importer le type de charge que d'autres ont personnalisé (comme le serveur de fichiers). Vous pouvez également utiliser le langage du modèle de charge de travail pour personnaliser une charge spécifique. Ce qui suit décrit l'importation de la charge de serveur de fichiers personnalisée (simulation) démontrée par le document.
1. Entrez filebench
2. load fileserver (filebench importe le fichier ~ .f correspondant, le code l'accompagne, vous pouvez également le télécharger à partir de cette adresse http://sourceforge.net/apps/mediawiki/filebench/index.php? title = Pre- defined_personalities)
3. set $ dir = / mnt (tester le répertoire mnt)
4. run 60 (run for 60 seconds, print statistics after running)
non-interactive run,
exécuter une commande pour terminer le test, il y a pas besoin d'effectuer le test étape par étape. Définissez divers paramètres. Faites attention à ajouter'run <time> 'à la fin du fichier de configuration

4. Ecriture de la charge de travail
Nous pouvons écrire nous-mêmes le fichier de charge de travail, le format de syntaxe peut être référencé à: https://github.com/filebench/filebench/wiki/Workload-model-language
# cat createfiles.f
...
// Le Voici la définition des variables utilisateur
set $ dir = / home / yangguanjun3 / mike / tst1
set $ nfiles = 50000
set $ meandirwidth = 100
set $ meanfilesize = 16k
set $ iosize = 1m
set $ nthreads = 16
// Définit le mode de sortie , support [timeout | alldone | firstdone]
set mode quit firstdone
// ensemble de fichiers: définit un ensemble de fichiers utilisés dans le test
// nom = bigfileset: doit être spécifié-le nom de l' ensemble de fichiers, utilisé ultérieurement dans flowop
// chemin = $ dir: doit être spécifié - le répertoire dans lequel le fichier de test est créé
// size = $ meanfilesize: facultatif, le mot-clé peut également être filesize, la valeur par défaut est de 1 Ko - la taille du fichier de test
// entrées = $ nfiles: facultatif , le bit par défaut est 1024-le nombre de fichiers dans l'ensemble de fichiers
// dirwidth = $ meandirwidth: facultatif, par défaut 0-le nombre de fichiers créés dans chaque répertoire
définir le nom de l'ensemble de fichiers = bigfileset, chemin = $ dir, size = $ meanfilesize, entries = $ nfiles, dirwidth = $ meandirwidth
// processus: définir le processus
// nom = filecreate: doit spécifier-le nom du processus
// instances = 1: facultatif, la valeur par défaut est 1-le nombre de processus dans le processus de traitement
définir le nom du processus = filecreate, instances = 1
{ // thread: un thread dans le processus // nom = filecreatethread: doit être spécifié-le nom du thread de traitement // memsize = 10m: doit spécifier-la taille de la mémoire initialisée à 0 après le démarrage du thread, utilisée pour le flux de lecture / écriture // instances = $ nthreads: facultatif, la valeur par défaut est 1-le nombre de threads créés nom du thread = filecreatethread, memsize = 10m, instances = $ nthreads { // flowop: définissez chaque étape du flux de traitement // createfile / writewholefile / closefile: les mots-clés de flowop, chacun représente une opération différente // name = $ name: le nom of flowop // filesetname = bigfileset: spécifiez op Ensemble de fichiers d'exploitation










// fd = 1: spécifiez la valeur du descripteur de fichier, utile dans les scénarios où l'application autorise l'ouverture du fichier plusieurs fois
// iosize = $ iosize: spécifiez le flowop
iosize pour la lecture et l'écriture de createfile name = createfile1, filesetname = bigfileset, fd = 1
flowop writewholefile name = writefile1, fd = 1, iosize = $ iosize
flowop closefile name = closefile1, fd = 1
}
}
echo "La personnalité de Createfiles version 3.0 a été chargée avec succès"
// Lancer le test de filebench
// Format: exécuter [<runtime>], Si <runtime> n'est pas spécifié, la valeur par défaut est 60s
run 60
5. Interprétation du résultat de Filebench
1. résultat de l'exécution webserver.f
openfile1 21557ops 180ops / s 0.0mb / s 2.2ms / op 4022us / op-cpu [0ms-165ms]
10624: 144.911: Résumé d'E / S: 668111 ops, 5563.535 ops / s, (1795/180 r / w), 29.2mb / s, 382us cpu / op, latence de 26.0ms
opérations openfile1: 21557 opérations totales 180 opérations par seconde 0,0 Mo par seconde bande passante 2,2 par délai d'opération [0ms-165ms] Les délais les plus longs et les plus courts sont résumés dans la dernière ligne.

nom du flux-Il existe de nombreux flux pris en charge. Opérations de
tous les threads . Opérations de tous les threads. LECTURE / ÉCRITURE de la bande passante de tous les threads. Latence moyenne de tous les threads. Latence minimale et maximale
des opérations dans le test.


Résumé d'E / S:
149970 opérations: la somme de tous les flowops
9372.298 ops / s: la somme de tous les flowops / durée d'exécution
0/3124 rd / wr: les opérations de READ / WRITE dans tous les flowops / durée d'exécution
48.8mb / s: l'IO bande passante de tous les flowops
1.643ms / op: la latence moyenne de chaque opération de tous les flowops

2. Résultat d'exécution de Fileserver.f

Cet article est transféré d'un résumé écrit d'un camarade de classe, et a été approuvé ~

référence:

https://www.jianshu.com/p/4fcd6b8a4236

https://blog.csdn.net/microsoft2014/article/details/60145433

 

Je suppose que tu aimes

Origine blog.csdn.net/wzlsunice88/article/details/103632085
conseillé
Classement