11nov. 2011

Système de fichier distribué Glusterfs - Benchmark replication distribuée

gluster_logo

Après la publication de la réplication distribuée, voici les premiers benchmarks.

Le protocole de test est le suivant :

  • Serveurs : Intel Core2 Quad Q9550 - 512Mo de RAM
  • Outil : fileop
  • Pas d'optimisation particulère
  • Création d'une arborescence de fichier de 4K (création de 20 répertoires contenant 20 répertoires contenant un fichier de 4K)
  • Création d'une arborescence de fichier de 40M (création de 6 répertoires contenant 6 répertoires contenant un fichier de 40M)
  • Comparatif : Écriture en local, via gluster puis NFS


1) Génération de l'arborescence 4K:

Test en local :

client-1 ~ # time ./fileop -d /glusterfs_local/ -f 20 -s 4k -e
 .       mkdir   chdir   rmdir  create    open    read   write   close    stat  access   chmod readdir  link    unlink  delete  Total_files
A   20   23960  381779   98668   16779  442536   63848   63694  389805  555721  490175  369310   70380  178352  241133   94628       8000 
 
real    0m54.757s
user    0m0.203s
sys     0m0.520s

Test via le protocole NFS :

client-1 ~ # mount | grep /glusterfs_nfs
78.41.XXX.XXX:/nfs on /glusterfs_nfs type nfs (rw,noatime,addr=78.41.XXX.XXX)
client-1 ~ # time ./fileop -d /glusterfs_nfs/ -f 20 -s 4k -e
 .       mkdir   chdir   rmdir  create    open    read   write   close    stat  access   chmod readdir  link    unlink  delete  Total_files
A   20     190   25031     273     154    6418   62354  163237  266426   12863  394146    4618    6265    1347     313     302       8000 
 
real	4m33.915s
user	0m0.030s
sys	0m0.080s

Test via le protocole Gluster :

client-1 ~ # mount | grep '/glusterfs'
filer-1:/test-volume on /glusterfs type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)
client-1 ~ # time ./fileop -d /glusterfs/ -f 20 -s 4k -e
 .       mkdir   chdir   rmdir  create    open    read   write   close    stat  access   chmod readdir  link    unlink  delete  Total_files
A   20    1362    3371    2398     835    2462    3411   16958    6960    2785    4124    1545    2840     945    1232    1188       8000 
 
real	1m59.461s
user	0m0.023s
sys	0m0.523s



2) Génération de l'arborescence 40M :

Test local :

client-1 ~ # time ./fileop -d /mnt/ -f 6 -s 40M -e
 .       mkdir   chdir   rmdir  create    open    read   write   close    stat  access   chmod readdir  link    unlink  delete  Total_files
A    6   71305  403178  105082   15906  113915       1      14  104410  520373  510405  367981  169848  202678  295200     875        216 
 
real	7m44.478s
user	0m27.758s
sys	0m15.576s

Test via le protocole NFS :

client-1 ~ # mount | grep /glusterfs_nfs
78.41.XXX.XXX:/nfs on /glusterfs_nfs type nfs (rw,noatime,addr=78.41.XXX.XXX)
client-1 ~ # time ./fileop -d /glusterfs_nfs/ -f 6 -s 40M -e
 .       mkdir   chdir   rmdir  create    open    read   write   close    stat  access   chmod readdir  link    unlink  delete  Total_files
A    6     306  153298     642      45    3070       1      26   90751   11435   13304    2221    8485    5251    3831     639        216 
 
real	7m23.497s
user	0m28.012s
sys	0m16.809s

Test via le protocole Gluster :

client-1 ~ # mount | grep '/glusterfs'
filer-1:/test-volume on /glusterfs type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)
client-1 ~ # time ./fileop -d /glusterfs -f 6 -s 40M -e
 .       mkdir   chdir   rmdir  create    open    read   write   close    stat  access   chmod readdir  link    unlink  delete  Total_files
 
A    6    1528  357139    2713      26     806       1       2    2558    4536    3942    2533    4365    1259    1870     424        216 
 
real	17m1.170s
user	0m27.895s
sys	0m8.719s