06 mar

Bonnie++

El otro día me encontré con esta herramienta, que permite hacer un stress de los discos duros, tenemos diferentes herramientas del estilo, pero esta me pareció que cumplía bien lo que estaba buscando.

Bonnie++ esta disponible para Linux y Freebsd entre otros..

Para instalar en CentOS por ejemplo haríamos.

 yum install bonnie++
 

En freeBSD a través de ports, lo encontramos en

cd /usr/ports/benchmarks/bonnie++/
make
make install
make clean
rehash

Bueno básicamente bonnie++ nos proporciona 3 tipos de pruebas escrituras secuenciales, lecturas secuenciales y búsquedas aleatorias.
Podemos ver las opciones con

man bonnie++

Normalmente suelo utilizar esta linea que me parece bastante completa.

bonnie++ -d directorio -s 20g -n 1 -m localname -f -b -u user

Donde:

  • -d -> es el directorio de las pruebas
  • -s -> es el tamaño del fichero, nos recomiendan que sea como mínimo el   doble de la memoria RAM, de esta manera evitamos poder utilizar mucho la cache del sistema.
  • -n -> numero de ficheros que creara en múltiplos de 1024.
  • -m -> Nombre de la maquina, a modo informativo
  • -f -> Establece el control para las pruebas per-char IO tests
  • -b -> No escribir buffer
  • -u -> UID o usuario que utilizará

El resultado nos dará algo tal que:


Using uid:0, gid:0.
Writing intelligently...done
Rewriting...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version  1.96       ------Sequential Output------      --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite-      -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP      K/sec %CP K/sec %CP  /sec %CP
localname       32G  592276  77 198308  28             438462  25  2212 120
Latency              250ms   68195us                   533ms   14425us

Version  1.96      ------Sequential Create------        --------Random Create--------
localname           -Create-- --Read--- -Delete--        -Create-- --Read--- -Delete--
files                /sec %CP  /sec %CP  /sec %CP         /sec %CP  /sec %CP  /sec %CP
2                    776   6 +++++ +++  1419   7         1009   7 +++++ +++  1315   7
Latency               371ms     361us    1703us            2187us      48us    1456us

Sobre los resultados, tener en cuenta que en la primera linea, cuanto mas grandes sean los números mejor, al contrario que en la segunda linea, contra mas pequeños sea los números mejor

También puede ser interesante utilizar un atop o alguna herramienta de motorización, para comprobar el sistema durante el proceso