Hoy hablaremos sobre herramientas abiertas para evaluar el rendimiento de procesadores, memoria, sistemas de archivos y sistemas de almacenamiento.
La lista incluye utilidades ofrecidas por residentes de GitHub y participantes en hilos temáticos en Reddit, tales como Sysbench, UnixBench, Phoronix Test Suite, Vdbench y IOzone.
/ Unsplash /
Esta es una herramienta para realizar pruebas de carga en servidores MySQL, basada en el proyecto LuaJIT, que desarrolla una máquina virtual para el lenguaje Lua. El autor de la herramienta es el programador y experto en MySQL Alexey Kopytov. El proyecto comenzó como un pasatiempo, pero con el tiempo obtuvo reconocimiento en la comunidad. Hoy en día, sysbench es utilizado por grandes universidades y organizaciones de TI .
Durante la conferencia SECR-2017 (grabación de la presentación ) Alexey mencionó que sysbench permite evaluar el rendimiento de la base de datos al trasladarla a nuevo hardware, actualizar la versión del SGBD o cambiar drásticamente el número de solicitudes. En general, la sintaxis del comando para realizar una prueba es la siguiente:
sysbench [options]... [testname] [command]Este comando define el tipo (cpu, memory, fileio) y los parámetros de prueba de carga (número de hilos, número de solicitudes, velocidad de procesamiento de transacciones). En general, la herramienta puede procesar millones de eventos por segundo. Alexey Kopytov habló más sobre la arquitectura y el funcionamiento interno de sysbench en uno de los .
Conjunto de herramientas para evaluar el rendimiento de sistemas Unix. Fue presentado por ingenieros de la Universidad Monash en 1983. Desde entonces, varias personas han mantenido la herramienta, como los autores de la revista sobre microcomputación y el participante de LKML David Niemi. Anthony Voellm es responsable de la siguiente versión de la herramienta ().
UnixBench consiste en un conjunto de pruebas individuales. Comparan la velocidad de ejecución del código en una máquina con Unix con el rendimiento de un sistema de referencia, que es 20-61. Basado en esta comparación, se genera una puntuación que define el rendimiento.
Entre las pruebas disponibles se incluyen: Whetstone, que describe la eficiencia de las operaciones de punto flotante, File Copy, que evalúa la velocidad de copia de datos, y varios benchmarks en 2D y 3D. La lista completa de pruebas se puede encontrar en . Muchas de ellas se utilizan para evaluar el rendimiento de máquinas virtuales en la nube.
Este conjunto de pruebas fue desarrollado por los autores del recurso web Phoronix, que publica noticias sobre distribuciones de GNU/Linux. La Test Suite fue presentada por primera vez en 2008, incluyendo entonces 23 pruebas diferentes. Más tarde, los desarrolladores lanzaron el servicio en la nube , donde los usuarios podían publicar sus propios scripts de prueba. Hoy en día, contiene alrededor de 60 conjuntos de benchmarks, incluidos algunos relacionados con el aprendizaje automático y la tecnología de ray-tracing.
Los conjuntos de scripts especializados permiten probar componentes individuales del sistema. Con ellos, es posible evaluar el tiempo de compilación del núcleo y la codificación de archivos de video, la velocidad de compresión de los archivadores, entre otros. Para ejecutar las pruebas, simplemente es necesario escribir el comando correspondiente en la consola. Por ejemplo, este comando inicia la evaluación del rendimiento del CPU:
phoronix-test-suite benchmark smallptDurante las pruebas, la Test Suite controla automáticamente el estado del hardware (temperatura del CPU y velocidad de los ventiladores), protegiendo al sistema de sobrecalentamientos.

/ Unsplash /
Es una herramienta para generar carga I/O en sistemas de almacenamiento, desarrollada por Oracle. Ayuda a evaluar el rendimiento y la integridad de los sistemas de almacenamiento (sobre cómo calcular el rendimiento teórico del sistema de disco, hemos preparado una ).
El funcionamiento de la solución es el siguiente: en un sistema real se ejecuta el programa SWAT (Sun StorageTek Workload Analysis Tool), que crea un volcado con todas las solicitudes al disco durante un período determinado. Se registran la marca de tiempo, el tipo de operación, la dirección y el tamaño del bloque de datos. Luego, utilizando el archivo de volcado, vdbench emula la carga en cualquier otro sistema.
La lista de parámetros para controlar la utilidad se encuentra en el . El código fuente de la utilidad se puede encontrar .
Utilidad de consola para evaluar el rendimiento de sistemas de archivos. Determina la velocidad de lectura, escritura y reescritura de archivos. Decenas de programadores participaron en el desarrollo de la herramienta, pero el autor de su primera versión es el ingeniero William Norcott. El desarrollo fue apoyado por empresas como Apple, NetApp e iXsystems.
Para gestionar flujos y su sincronización durante las pruebas, la herramienta utiliza el estándar . Al finalizar el trabajo, IOzone genera un informe con los resultados, ya sea en formato de texto o como hoja de cálculo (Excel). También, la herramienta incluye un script gengnuplot.sh, que construye un gráfico tridimensional basado en los datos de las tablas. Ejemplos de tales gráficos se pueden encontrar en la documentación de la herramienta ().
IOzone está disponible como perfil de prueba en el ya mencionado Phoronix Test Suite.
Lectura adicional de nuestros blogs y redes sociales:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Fuente: habr.com
