Benchmarking (Español)

Esta traducción de
Benchmarking
fue revisada el
2022-11-01
. Si existen
cambios
puede
actualizarla
o avisar al
equipo de traducción
.
Artículos relacionados
Mejorar el rendimiento
Pruebas de estrés
Sysstat
Benchmarking (o evaluación comparativa) es el acto de medir el rendimiento y comparar los resultados con los de otro sistema o un estándar bien aceptado a través de un procedimiento unificado. Este procedimiento unificado para la evaluación del desempeño del sistema puede ayudar a contestar preguntas como la siguientes:
¿El sistema se está desempeñando como debería?
¿Qué versión del driver debería usar para conseguir el óptimo desempeño?
¿El sistema es capaz de hacer el trabajo x?
Se pueden utilizar muchas herramientas para determinar el rendimiento del sistema, a continuación se proporciona una lista de las herramientas disponibles.
Herramientas individuales
UnixBench
Instale
unixbench
AUR
, para ejecutarla utilice la orden
ubench
.
Véase también:
https://github.com/kdlucas/byte-unixbench
https://github.com/kdlucas/byte-unixbench/blob/master/UnixBench/USAGE
interbench
interbench es una aplicación diseñada para hacer benchmarks de la interactividad de Linux.
Está diseñada para medir el efecto de los cambios en el diseño del kernel de Linux o cambios en la configuración del sistema como el CPU, planificador de E/S (I/O scheduler) y el sistema de archivos.
Sugerencia
Con un benchmark cuidadoso, se puede comparar distinto hardware
interbench está disponible en
AUR
:
interbench
AUR
Véase también:
Realtime process management
Advanced traffic control
Linux-pf
ttcp
ttcp (Test TCP) mide el ancho de banda de punto a punto sobre cualquier conexión de red. El programa debe de estar instalado en ambos nodos en los cuales se medirá el ancho de banda.
Se pueden encontrar varios tipos de ttcp en la
AUR
:
ttcp
AUR
nuttcp
AUR
iperf
iperf es una herramienta sencilla para analizar el ancho de banda de punto a punto que puede usar tanto TCP como UDP. Tiene un lindo formato de salida y un modo de prueba en paralelo.
Se puede instalar el paquete
iperf
o una versión diferente con
iperf3
time
La orden
time(1)
provee un cronometraje estadístico acerca del comando ejecutado ya que demuestra el tiempo entre que el comando se invocó y llegó a su fin.
El paquete
time
contiene el comando
time
y algunas shell contienen
time
de manera predeterminada.
$ time tar -zxvf archivo.tar.gz
hdparm
Los medios de almacenamiento se pueden analizar con
hdparm
(
hdparm
). Usando hdparm con el switch -Tt se puede cronometrar con lecturas secuenciales. Este método es independiente a la alineación de las particiones!
# hdparm -Tt /dev/sd
X
/dev/sd
X
:
Timing cached reads:   x MB in  y seconds = z MB/sec
Timing buffered disk reads:  x MB in  y seconds = z MB/sec
Nota
Para una evaluación certera de la velocidad de lectura se recomienda ejecutar el comando 2 ó 3 veces y hacer el promedio de los resultados de manera manual.
gnome-disks
Existe un benchmark gráfico llamado gnome-disks en el paquete
gnome-disk-utility
que dará lecturas min/max/ave (mínimo/máximo/promedio) junto con los tiempos de acceso un una linda interfaz gráfica. Este método es independiente a la alineación de las particiones!
# gnome-disks
Los usuarios deberán navegar a través de la GUI para llegar al botón de prueba de rendimiento (
"Más acciones..."
>
"Probar el rendimiento del disco..."
).
Ejemplo
KDiskMark
kdiskmark
es una herramienta de benchmarking para HDD y SSD con una interfaz gráfica muy amigable. KDiskMark con su configuración preestablecida y poderosa GUI llama a Flexible I/O Tester y maneja el output para proporcionar un resultado de benchmark comprensible y fácil de ver.
systemd-analyze
$ systemd-analyze plot > boot.svg
Trazará una detallada gráfica con la secuencia de arranque: El tiempo del kernel, el tiempo del espacio de usuario y el tiempo tomado por cada servicio.
Ejemplo
dd
La herramienta
dd
puede ser utilizada tanto para medir la escritura como la lectura. ¡Este método depende de la alineación de la partición! En otras palabras, si no alineaste correctamente  tus particiones, este hecho será visible aquí ya que se lee y escribe a un  filesystem montado.
Nota
¡Este método requiere sea ejecutado desde una partición montada en el dispositivo de interés!
Primero, introduzca un directorio en el SSD con al menos 1.1 GB de espacio libre (que de los permisos wrx a tu usuario), escriba un archivo de texto para medir las velocidades de escritura y para darle al dispositivo algo que leer:
$ dd if=/dev/zero of=
/ruta/al/SSD/
tempfile bs=1M count=1024 conv=fdatasync,notrunc status=progress
1024+0 records in
1024+0 records out
v
bytes (
w
MB,
x
MiB) copied,
y
s,
z
MB/s
Sugerencia
Véase
dd-benchmark
para una explicación sobre los requerimientos de
sync
y más opciones de
dd
relacionadas.
Después, limpie el buffer-cache para medir las velocidades de lectura correctas directamente del dispositivo:
# echo 3 > /proc/sys/vm/drop_caches
$ dd if=tempfile of=/dev/null bs=1M count=1024 status=progress
1024+0 records in
1024+0 records out
v
bytes (
w
MB,
x
MiB) copied,
y
s,
z
MB/s
Ahora que el último archivo está en el buffer, repita la orden para ver la velocidad del buffer-cache:
$ dd if=tempfile of=/dev/null bs=1M count=1024 status=progress
1024+0 records in
1024+0 records out
v
bytes (
w
MB,
x
MiB) copied,
y
s,
z
MB/s
Nota
Uno debería correr el comando de arriba 4 ó 5 veces y manualmente conseguir el promedio de los resultados para conseguir una evaluación precisa del la velocidad de lectura del buffer.
Finalmente, borre el archivo temporal.
$ rm tempfile
Nota
Algunos controladores de SSD tienen hardware de compresión, los cuales pueden arruinar los resultados del benchmark. Véase
https://www.pugetsystems.com/labs/articles/SSDs-Advertised-vs-Actual-Performance-179/
dcfldd
Dcfldd no muestra la velocidad promedio en MB/s como lo hace dd sino que utiliza
time
, pero se puede resolver.
Cronometra la limpieza del disco:
# time dcfldd if=/dev/zero of=/dev/sdX bs=4M
18944 blocks (75776Mb) written.dcfldd:: No space left of device
real     16m17.033s
user     0m0.377s
sys      0m51.160s
Para calcular los MB/s se divide el resultado de la orden dcfldd sobre el tiempo en segundos. Por ejemplo: 75776Mb / (16.4 min * 60) = 77.0 MB/s.
7z
El comando 7z puede ser utilizado para medir la velocidad del CPU en MIPS y revisar errores en la RAM. Simplemente instale
p7zip
y corra el comando de abajo. Información más detallada puede ser vista en
[1]
.
$ 7z b
peakperf
peakperf-git
AUR
es un microbenchmark de referencia que logra el máximo rendimiento en CPU x86_64. Algunos problemas pueden reducir el rendimiento proporcionado por su CPU, como la refrigeración de la CPU. Con Peakperf puede comprobar si su CPU proporciona toda la potencia que es capaz de ofrecer.
Puede calcular el rendimiento (medido en GFLOP/s) que debería obtener usando su CPU (véase
[2]
) y compararlo con el rendimiento que peakperf le dio. Si ambos valores son iguales (o muy similares), su CPU se comporta como debería.
Nota
Aunque el objetivo de peakperf es probar la CPU, también es una excelente manera de probar su refrigeración, ya que acelerará su CPU al límite.
Paquetes software
Bonnie++
bonnie++
es una reescritura en C++ de la suite
original Bonnie
de evaluación comparativa que tiene como objetivo realizar varias pruebas de rendimiento del disco duro y del sistema de archivos.
Advertencia
Por defecto, bonnie++ escribe al menos el doble del tamaño de RAM en el disco. Si desea conservar su SSD, utilice la opción no predeterminada.
Véase también:
Sitio del autor
Wikipedia:Bonnie++
IOzone
IOzone es útil para realizar un análisis amplio del sistema de archivos de la plataforma informática de un proveedor.
Este programa está disponible en
AUR
:
iozone
AUR
.
Véase también el artículo de BBS:
iozone para evaluar los programadores de E/S... ¡los resultados NO son los esperados!
.
HardInfo
hardinfo-git
AUR
[
enlace roto
: package not found]
puede recopilar información sobre el hardware y el sistema operativo de su sistema, realizar pruebas comparativas y generar informes imprimibles en HTML o en texto sin formato. HardInfo realiza pruebas comparativas de CPU y FPU y tiene una interfaz basada en GTK muy limpia.
Phoronix Test Suite
Phoronix Test Suite
es la plataforma de pruebas y evaluación comparativa más completa disponible que proporciona un marco extensible para el que se pueden añadir fácilmente nuevas pruebas. El software está diseñado para llevar a cabo con eficacia evaluaciones comparativas cualitativqs y cuantitativqs de una manera limpia, reproducible y fácil de utilizar.
Phoronix Test Suite
se basa en las pruebas exhaustivas y las herramientas internas desarrolladas por Phoronix.com desde 2004, junto con el soporte de los principales proveedores de software y hardware de computadora de primer nivel. Este software es de código abierto y está licenciado bajo GNU GPLv3.
Originalmente desarrollado para pruebas automatizadas de Linux, desde entonces se ha añadido compatibilidad con
Phoronix Test Suite
para los sistemas operativos OpenSolaris, Apple macOS, Microsoft Windows y BSD.
Phoronix Test Suite
consta de un núcleo de procesamiento ligero (pts-core) y cada evaluación consta de un perfil basado en XML y scripts de recursos relacionados. El proceso desde la instalación del evaluador hasta la evaluación actual y el análisis de componentes importantes de hardware y software está muy automatizado y es completamente repetible, y solo solicita a los usuarios la confirmación de las acciones.
Phoronix Test Suite
interactúa con OpenBenchmarking.org como una plataforma web colaborativa para el almacenamiento centralizado de resultados de pruebas, el intercambio de perfiles y resultados de pruebas, funciones analíticas avanzadas y otras funciones. Phoromatic es un componente empresarial para orquestar la ejecución de pruebas en múltiples sistemas con capacidades de administración remota.
Esta suite se puede
instalar
con el paquete
phoronix-test-suite
AUR
. También hay una versión de desarrollo disponible con
phoronix-test-suite-git
AUR
.
S
S
, un paquete de evaluación comparativa de E/S, es una pequeña colección de scripts para medir el rendimiento de E/S de almacenamiento.
Descargue o clone el proyecto, instale sus dependencias y ejecútelo como superusuario (privilegios necesarios para cambiar el programador del disco).
s-tui
s-tui
es una interfaz de tipo curses estéticamente agradable y útil que muestra gráficos de frecuencia de CPU, utilización, temperatura, consumo de energía y tiene un probador de estrés incorporado.
Flash media
Las características de rendimiento se pueden medir cuantitativamente utilizando
iozone
AUR
. Los valores de lectura y escritura
sostenidos
pueden, pero a menudo no lo hacen, correlacionarse con casos de uso reales de operaciones intensas de E/S, como desempaquetar y escribir una cantidad de archivos en una actualización del sistema. Una métrica relevante a considerar en estos casos es la velocidad de
escritura aleatoria
para archivos pequeños.
La invocación de ejemplo prueba un archivo de 10M utilizando un tamaño de registro de 4k:
$ iozone -e -I -a -s 10M -r 4k -i 0 -i 1 -i 2
...

                                                                random   random
              kB  reclen    write  rewrite    read    reread    read     write
           10240       4      661      649     5802     5822     3892      624
Nota
Los valores de prueba se muestran en KB/s.
Gráficos
Basemark GPU
Basemark GPU
es una herramienta de evaluación para analizar y medir el rendimiento de la API de gráficos (OpenGL 4.5, OpenGL ES 3.1, Vulkan y Microsoft DirectX 12) en plataformas móviles y de escritorio. Basemark GPU se dirige tanto a plataformas de escritorio como móviles al proporcionar modos de alta y media calidad. El modo de alta calidad se ocupa de las cargas de trabajo de escritorio de última generación, mientras que el modo de calidad media se ocupa de las cargas de trabajo móviles equivalentes.
Si está utilizando GPU AMD y tiene varias implementaciones de vulkan instaladas simultáneamente, en la página de prueba las verá como GPU separadas en la lista desplegable de dispositivos gráficos.
Basemark GPU está disponible en el paquete
basemark
AUR
.
Blender-benchmark
Blender-benchmark
recopilará información sobre el sistema, como sistema operativo, RAM, tarjetas gráficas, modelo de CPU, así como información sobre el rendimiento del sistema durante la ejecución de la evaluación. Después de eso, el usuario podrá compartir el resultado en línea en la plataforma Blender Open Data o guardar los datos localmente.
Blender-benchmark está disponible en el paquete
blender-benchmark
AUR
.
GFXBench
GFXBench
es un evaluador de gráficos de alta gama que mide el rendimiento móvil y de escritorio con funciones de gráficos de próxima generación en todas las plataformas. Como verdadero evaluador multi-API, GFXBench es compatible con todas las API estándar de la industria y específicas del proveedor, incluidas OpenGL, OpenGL ES, Vulkan, Metal, DirectX/Direct3D y DX12.
Las pruebas de API de Vulkan están actualmente en desarrollo y solo están disponibles para sus socios corporativos.
GFXBench está disponible en el paquete
gfxbench
AUR
.
glmark2
glmark2
es un evaluador de OpenGL 2.0 y ES 2.0.
glmark2 está disponible en el paquete
glmark2
.
glxgears
glxgears es una prueba popular de OpenGL que ofrece un rendimiento de OpenGL muy simple y genera la velocidad de fotogramas. Aunque glxgears puede ser útil como prueba de las capacidades de representación directa del controlador gráfico, es una herramienta obsoleta que no representa el estado actual de los gráficos GNU/Linux y las posibilidades generales de OpenGL. glxgears solo prueba un pequeño segmento de las capacidades de OpenGL que podrían utilizarse en un juego. Los aumentos de rendimiento observados en glxgears no se realizarán necesariamente en ningún juego determinado. Véase
aquí
para obtener más información.
glxgears se puede instalar mediante los paquetes
mesa-utils
y
lib32-mesa-utils
(para
multilib
).
GpuTest
GpuTest
es una prueba de esfuerzo de GPU multiplataforma (Windows, Linux y Max OS X) y una evaluación comparativa de OpenGL. GpuTest viene con varias pruebas de GPU, incluidas algunas populares del mundo de Windows (FurMark o TessMark).
GpuTest está disponible en el paquete
gputest
AUR
.
intel-gpu-tools
intel-gpu-tools
le brinda información relevante de la GPU integrada. Esto puede ser bastante útil para diagnosticar problemas de aceleración de GPU.
Para utilizarlo,
instale
el paquete
intel-gpu-tools
.
MangoHud
Véase
MangoHud
.
Unigine Engine
Unigine corp.
ha producido varios evaluaciones comparativas modernas de OpenGL basados en su motor gráfico con características como:
Iluminación dinámica por píxel
Mapeo de oclusión normal y de paralaje (parallax)
Representación HDR de 64 bits
Niebla y luz volumétrica
Potentes sistemas de partículas: fuego, humo, explosiones
Conjunto extensible de sombreadores (GLSL / HLSL)
Posprocesamiento: profundidad de campo, refracción, brillo, desenfoque, corrección de color y mucho más
Las evaluaciones comparativas de Unigine han encontrado un uso reciente por parte de aquellos que buscan hacer overclock a sus sistemas. Heaven se ha utilizado especialmente para las pruebas iniciales de estabilidad de overclocking.
Estas evaluaciones comparativas se pueden encontrar en
AUR
:
unigine-sanctuary
AUR
(2007)
unigine-tropics
AUR
(2008)
unigine-heaven
AUR
(2009)
unigine-valley
AUR
(2013)
unigine-superposition
AUR
(2017)
vkmark
vkmark
es un conjunto extensible de evaluación comparativa de Vulkan con escenas específicas y configurables.
vkmark está disponible en el paquete
vkmark
.
Véase también
Página de inicio de evaluación comparativa de Linux
Phoronix.com
Página de inicio de Interbench
Unigine.com