Saltar al contenido

Raspberry Pi: benchmark de sistema con Sysbench

Raspberry Pi benchmark de sistema con Sysbench

Si tienes planeado realizar algo de overclock a tu Raspberry Pi o si quieres simplemente saber cómo se compara en términos de velocidad con otros sistemas, comprobar su estabilidad… te interesa probar una suite de benchmarking como la de Sysbench.

Acerca de Sysbench

Se trata de una herramienta de pruebas de rendimiento, modular y con ejecución multi-hilo, diseñada para extraer una visión rápida de la velocidad de un equipo. Está aplicación de benchmarking está enfocada a pruebas para servidores de base de datos, pruebas de procesador central, test de transmisión de memoria (ancho de banda) o benchmark de lectura/escritura de disco, entre otros.

El atractivo de una herramienta como esta es doble: por un lado, conocer las limitaciones de nuestro sistema (en mi caso una «Raspi 3» para saber qué usos son viables y cuáles no lo son. Por otro, es una excelente suite para probar la estabilidad y temperatura de nuestro equipo, dado que las Raspberries tienden a calentarse de  lo lindo si no les ponemos un disipador (o incluso un sistema más avanzado).

Benchmark en Raspberry Pi con Sysbench

El manejo de la herramienta es bastante sencillo. Voy a enseñaros algunos ejemplos de uso de Sysbench dentro de un sistema Debian/Ubuntu.

Instalar Sysbench

Ejecutaremos la siguiente orden:

apt-get install sysbench

Manual de la herramienta:

man sysbench

Pruebas de CPU

Para lanzar un test sobre el procesador, escribiremos lo siguiente:

sysbench --test=cpu --cpu-max-prime=20000 run

Esto lanzará un hilo único de cálculo de números primos, en este caso establecido en 20000. La orden solo se asocia a un procesador individual, de forma que si queremos por ejemplo usar el 100% de la CPU tendríamos que especificarlo:

sysbench --test=cpu --cpu-max-prime=20000 run --num-threads=4
Sysbench CPU

Pruebas de memoria

Para poder simular una carga en la memoria y ver sus tasas de transferencia, Sysbench empleará un búfer (establecido mediante –memory-block-size) que por defecto es de 1 Kb y durante cada ejecución leerá o escribirá dicha memoria (–memory-oper por defecto es «escribir») de una forma aleatoria o secuencial, siendo el modo aleatorio el predefinido.

sysbench --test=memory --memory-block-size=1M --memory-total-size=10G run

Esta prueba es muy sensible al tamaño del bloque especificado, por lo que si en lugar de 1M (Mb) establecemos 1k, la ejecución se prolongará bastante, requiriendo más operaciones de escritura o lectura por segundo.

Prueba de memoria con Sysbench

Más informaciónHacer benchmark de disco en Linux con Fio

Pruebas de almacenamiento

Para conocer el rendimiento del disco y ver sus tasas de transferencia, lectura o escritura, utilizaremos también Sysbench con la opción –test=fileio.

Es importante recordar la importancia de crear un archivo grande, bastante más grande que la memoria RAM del aparato. En caso de no hacerlo, el sistema utilizará la memoria interna para «cachear» los datos y esto falseará los resultados obtenidos.

Preparar el test: empezaremos por crear un archivo que será el sometido a las pruebas posteriores.

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

Donde «50» deberá ser mayor o menor en función del sistema de almacenamiento a comprobar. Para una Raspberry Pi 3 yo lo dejaría en algo entre los 6 y los 12 GB, teniendo en cuenta el tamaño medio de las tarjetas SD empleadas..

Ahora lanzaremos el test. Fijaos en donde dice «rndrw» pues es en –file-test-mode donde especificaremos si es lectura o escritura, secuencial o aleatoria.

sysbench --test=fileio --file-total-size=50G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run
Raspberry Pi velocidad de disco test

Obtendremos una serie de estadísticas cuando finalice. Nos fijaremos sobre todo en:

Read xxxxMb  Written xxxMb  Total transferred xxxxxxMb  (XXXXXKb/sec)

No debemos olvidarnos de eliminar el archivo creado ex-profeso para la prueba, con este comando:

sysbench --test=fileio --file-total-size=50G cleanup

Ejecución en bloques o Batch Mode

Finalmente, Sysbench tiene una característica útil que es la ejecución en bloque. Esto nos permite conocer, además de las estadísticas finales de una prueba concreta, las diferencias en sus ejecuciones intermedias en un periodo definido. Así sabremos de qué forma evoluciona el rendimiento de un sistema a lo largo del tiempo.

Para esto existen las opciones –batch y –batch-delay. Con la opción «delay» estableceremos el tiempo de espera para la ejecución siguiente.

Recordad que este tipo de pruebas las podéis realizar con cualquier sistema soportado, no solo Raspberries 😉

Alejandro Ver todo

Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.

Deja tu comentario (puedes hacerlo de forma anónima)

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.