Script para medir el rendimiento de la Raspberry

Sección Unicamente para Tutoriales y Guías
Responder
Sadrarin
Pi Alpha
Pi Alpha
Mensajes: 30
Registrado: 28 Jul 2017, 22:12
Agradecido: 0
Agradecimiento recibido: 0

He creado este script para probar el rendimiento de la CPU y la memoria de la PI. Para los que le hemos hecho un overclocking a la pi, también nos sirve para ver hasta donde sube de temperatura cuando se le da un poco de caña.

Usa como base el script de la distro AikonCWD que realiza alguna prueba más (disco duro y velocidad de internet), pero lo he centrado en el test de cpu y memoria. El script original de AikonCWD lo podeis descargar de aquí: rpi-benchmark.sh

El script instala el paquete sysbench y es necesario ejecutarlo como root (sudo sh test.sh). Además le podeis pasar como argumento el número de veces que quereis que haga cada test (ej: sudo sh test.sh 5 <-- hará cada test 5 veces).

El script:

Código: Seleccionar todo

#!/bin/bash

# Script para realizar un test a la raspberry pi
# Basado en el script de AikonCwd podeis descargarlo de
# https://raw.githubusercontent.com/aikoncwd/rpi-benchmark/master/rpi-benchmark.sh

# Instalar sysbench
  apt-get install -y sysbench

# Preparar numero de pases

if [ -z $1]
then
   pasadas=1
else
   pasadas=$1
fi

# Comienzo del test
clear
sync
echo "Raspberry Pi Test"

# Mostrar información del sistema
echo "Información del sistema:"
vcgencmd measure_temp
vcgencmd get_config int | grep arm_freq
vcgencmd get_config int | grep core_freq
vcgencmd get_config int | grep sdram_freq
vcgencmd get_config int | grep gpu_freq
printf "reloj sd="
grep "actual clock" /sys/kernel/debug/mmc0/ios 2>/dev/null | awk '{printf("%0.3f MHz", $3/1000000)}'
echo "\n"


echo "Ejecutando test de la CPU..."

for pase in `seq 1 $pasadas`;
do
if [ $pasadas -gt 1 ]
then
   echo "Pase $pase de $pasadas \n"
fi
sysbench --num-threads=4 --validate=on --test=cpu --cpu-max-prime=5000 run | grep 'total time:\|min:\|avg:\|max:' | tr -s [:space:]
vcgencmd measure_temp
echo "\n"
done
echo "\n"

echo "Ejecutando test de hilos..."
for pase in `seq 1 $pasadas`;
do
if [ $pasadas -gt 1 ]
then
   echo "Pase $pase de $pasadas \n"
fi
sysbench --num-threads=4 --validate=on --test=threads --thread-yields=4000 --thread-locks=6 run | grep 'total time:\|min:\|avg:\|max:' | tr -s [:space:]
vcgencmd measure_temp
echo "\n"
done
echo "\n"

echo "Ejecutando test de memoria..."
for pase in `seq 1 $pasadas`;
do
if [ $pasadas -gt 1 ]
then
   echo "Pase $pase de $pasadas \n"
fi
sysbench --num-threads=4 --validate=on --test=memory --memory-block-size=1K --memory-total-size=3G --memory-access-mode=seq run | grep 'Operations\|transferred\|total time:\|min:\|avg:\|max:' | tr -s [:space:]
vcgencmd measure_temp
echo "\n"
done

echo "\nFin del test"
exit 0
Los resultados de las pruebas en mi PI3:

Con ajustes por defecto:

Código: Seleccionar todo

Raspberry Pi Test
Información del sistema:
temp=36.5'C
arm_freq=1200
core_freq=400
sdram_freq=450
gpu_freq=300
reloj sd=50.000 MHz

Ejecutando test de la CPU...
 total time: 20.5710s
 min: 6.96ms
 avg: 8.22ms
 max: 63.63ms
temp=45.6'C

Ejecutando test de hilos...
 total time: 16.9866s
 min: 4.53ms
 avg: 6.79ms
 max: 86.84ms
temp=47.8'C

Ejecutando test de memoria...
Operations performed: 3145728 (1857938.88 ops/sec)
3072.00 MB transferred (1814.39 MB/sec)
 total time: 1.6931s
 min: 0.00ms
 avg: 0.00ms
 max: 40.08ms
temp=48.3'C

Fin del test
Con Overclock a 1,4Ghz

Código: Seleccionar todo

Raspberry Pi Test
Información del sistema:
temp=35.4'C
arm_freq=1400
core_freq=500
sdram_freq=500
gpu_freq=400
reloj sd=50.000 MHz

Ejecutando test de la CPU...
 total time: 15.9352s
 min: 5.96ms
 avg: 6.37ms
 max: 47.09ms
temp=49.9'C

Ejecutando test de hilos...
 total time: 11.9457s
 min: 3.89ms
 avg: 4.78ms
 max: 51.65ms
temp=52.1'C

Ejecutando test de memoria...
Operations performed: 3145728 (2003880.47 ops/sec)
3072.00 MB transferred (1956.91 MB/sec)
 total time: 1.5698s
 min: 0.00ms
 avg: 0.00ms
 max: 19.37ms
temp=51.5'C

Fin del test
Os dejo el archivo como adjunto, espero que os sirva. Saludos.
test.sh
(1.8 KiB)
Avatar de Usuario
zoik
Pi Omega
Pi Omega
Mensajes: 62
Registrado: 11 Feb 2017, 16:59
Agradecido: 0
Agradecimiento recibido: 0

Sadrarin escribió:He creado este script para probar el rendimiento de la CPU y la memoria de la PI. Para los que le hemos hecho un overclocking a la pi, también nos sirve para ver hasta donde sube de temperatura cuando se le da un poco de caña.

Usa como base el script de la distro AikonCWD que realiza alguna prueba más (disco duro y velocidad de internet), pero lo he centrado en el test de cpu y memoria. El script original de AikonCWD lo podeis descargar de aquí: rpi-benchmark.sh

El script instala el paquete sysbench y es necesario ejecutarlo como root (sudo sh test.sh). Además le podeis pasar como argumento el número de veces que quereis que haga cada test (ej: sudo sh test.sh 5 <-- hará cada test 5 veces).

El script:

Código: Seleccionar todo

#!/bin/bash

# Script para realizar un test a la raspberry pi
# Basado en el script de AikonCwd podeis descargarlo de
# https://raw.githubusercontent.com/aikoncwd/rpi-benchmark/master/rpi-benchmark.sh

# Instalar sysbench
  apt-get install -y sysbench

# Preparar numero de pases

if [ -z $1]
then
   pasadas=1
else
   pasadas=$1
fi

# Comienzo del test
clear
sync
echo "Raspberry Pi Test"

# Mostrar información del sistema
echo "Información del sistema:"
vcgencmd measure_temp
vcgencmd get_config int | grep arm_freq
vcgencmd get_config int | grep core_freq
vcgencmd get_config int | grep sdram_freq
vcgencmd get_config int | grep gpu_freq
printf "reloj sd="
grep "actual clock" /sys/kernel/debug/mmc0/ios 2>/dev/null | awk '{printf("%0.3f MHz", $3/1000000)}'
echo "\n"


echo "Ejecutando test de la CPU..."

for pase in `seq 1 $pasadas`;
do
if [ $pasadas -gt 1 ]
then
   echo "Pase $pase de $pasadas \n"
fi
sysbench --num-threads=4 --validate=on --test=cpu --cpu-max-prime=5000 run | grep 'total time:\|min:\|avg:\|max:' | tr -s [:space:]
vcgencmd measure_temp
echo "\n"
done
echo "\n"

echo "Ejecutando test de hilos..."
for pase in `seq 1 $pasadas`;
do
if [ $pasadas -gt 1 ]
then
   echo "Pase $pase de $pasadas \n"
fi
sysbench --num-threads=4 --validate=on --test=threads --thread-yields=4000 --thread-locks=6 run | grep 'total time:\|min:\|avg:\|max:' | tr -s [:space:]
vcgencmd measure_temp
echo "\n"
done
echo "\n"

echo "Ejecutando test de memoria..."
for pase in `seq 1 $pasadas`;
do
if [ $pasadas -gt 1 ]
then
   echo "Pase $pase de $pasadas \n"
fi
sysbench --num-threads=4 --validate=on --test=memory --memory-block-size=1K --memory-total-size=3G --memory-access-mode=seq run | grep 'Operations\|transferred\|total time:\|min:\|avg:\|max:' | tr -s [:space:]
vcgencmd measure_temp
echo "\n"
done

echo "\nFin del test"
exit 0
Los resultados de las pruebas en mi PI3:

Con ajustes por defecto:

Código: Seleccionar todo

Raspberry Pi Test
Información del sistema:
temp=36.5'C
arm_freq=1200
core_freq=400
sdram_freq=450
gpu_freq=300
reloj sd=50.000 MHz

Ejecutando test de la CPU...
 total time: 20.5710s
 min: 6.96ms
 avg: 8.22ms
 max: 63.63ms
temp=45.6'C

Ejecutando test de hilos...
 total time: 16.9866s
 min: 4.53ms
 avg: 6.79ms
 max: 86.84ms
temp=47.8'C

Ejecutando test de memoria...
Operations performed: 3145728 (1857938.88 ops/sec)
3072.00 MB transferred (1814.39 MB/sec)
 total time: 1.6931s
 min: 0.00ms
 avg: 0.00ms
 max: 40.08ms
temp=48.3'C

Fin del test
Con Overclock a 1,4Ghz

Código: Seleccionar todo

Raspberry Pi Test
Información del sistema:
temp=35.4'C
arm_freq=1400
core_freq=500
sdram_freq=500
gpu_freq=400
reloj sd=50.000 MHz

Ejecutando test de la CPU...
 total time: 15.9352s
 min: 5.96ms
 avg: 6.37ms
 max: 47.09ms
temp=49.9'C

Ejecutando test de hilos...
 total time: 11.9457s
 min: 3.89ms
 avg: 4.78ms
 max: 51.65ms
temp=52.1'C

Ejecutando test de memoria...
Operations performed: 3145728 (2003880.47 ops/sec)
3072.00 MB transferred (1956.91 MB/sec)
 total time: 1.5698s
 min: 0.00ms
 avg: 0.00ms
 max: 19.37ms
temp=51.5'C

Fin del test
Os dejo el archivo como adjunto, espero que os sirva. Saludos.

test.sh






gracias por el aporte pisha.


que menos!
raspberry pi3 modelo b

batocera

:relax1
Sadrarin
Pi Alpha
Pi Alpha
Mensajes: 30
Registrado: 28 Jul 2017, 22:12
Agradecido: 0
Agradecimiento recibido: 0

zoik escribió:
gracias por el aporte pisha.

que menos!
Gracias a ti por comentar. :xd :xd
Avatar de Usuario
Kike
Administrador
Administrador
Mensajes: 2311
Registrado: 13 May 2016, 18:53
Ubicación: Islas Baleares - Menorca
Agradecido: 47 veces
Agradecimiento recibido: 175 veces
Contactar:

Ya lo había probado anteriormente y me parece una buena herramienta para saber la capacidad real ;)

Muchas gracias atrasadas por el aporte, un saludo!
Si lo puedes soñar, lo puedes hacer
Responder