Puntos de referencia para servidores Linux: una selección de herramientas abiertas

Seguimos hablando de herramientas para evaluar el rendimiento de la CPU en máquinas Linux. Hoy en el material: temci, uarch-bench, likwid, perf-tools y llvm-mca.

Más puntos de referencia:

Puntos de referencia para servidores Linux: una selección de herramientas abiertas
Фото - lukas blazek — Desechar

temci

Esta es una herramienta para estimar el tiempo de ejecución de dos programas. Básicamente, te permite comparar el tiempo de ejecución de dos aplicaciones. El autor de la utilidad fue el estudiante alemán Johannes Bechberger, quien la desarrolló como parte de su tesis de pregrado en 2016. La herramienta de hoy distribuido por licenciado bajo la Licencia Pública General GNU.

Johannes quería crear una herramienta que le permitiera medir el rendimiento de un sistema informático en un entorno controlado. Por tanto, una de las características principales de temci es la capacidad de configurar un entorno de prueba. Por ejemplo, uno puede: cambiar la configuración del administrador de frecuencia de la CPU, desactivar hyperthreading y cachés L1 y L2, desactive el modo turbo en procesadores Intel, etc. Para realizar evaluaciones comparativas, temci utiliza herramientas equipo, rendimiento_stat и conseguir.

Así es como se ve la utilidad en el primer caso:

# compare the run times of two programs, running them each 20 times
> temci short exec "sleep 0.1" "sleep 0.2" --runs 20
Benchmark 20 times                [####################################]  100%
Report for single runs
sleep 0.1            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      100.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1800k, deviation = 3.86455%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

sleep 0.2            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      200.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1968k, deviation = 3.82530%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

Con base en los resultados del benchmarking, el sistema genera informe conveniente con diagramas, tablas y gráficos, lo que distingue a temci de soluciones similares.

Entre las deficiencias de temci destaca su “juventud”. Debido a esto él no todo es compatible configuraciones de hardware y software. Por ejemplo, es difícil ejecutarlo en macOS y algunas funciones no están disponibles en un sistema basado en ARM. En el futuro, la situación puede cambiar, ya que el autor está desarrollando activamente el proyecto y el número de estrellas en GitHub está aumentando gradualmente; no hace mucho, incluso discutido en los comentarios en Noticias de piratas informáticos.

banco-uarch

Una utilidad para evaluar el rendimiento de funciones de CPU de bajo nivel, desarrollada por el ingeniero Travis Downs (Travis Downs). Recientemente ha estado blogueando. El rendimiento importa en GitHub Pages, que habla sobre herramientas de evaluación comparativa y otras cosas relacionadas. En general, el banco uarch apenas comienza a ganar popularidad, pero ya es bastante común. mencionado residentes de Hacker News en hilos temáticos como herramienta de referencia para realizar evaluaciones comparativas.

Uarch-bench le permite evaluar el rendimiento de la memoria, la velocidad de carga de datos en paralelo y el trabajo de limpieza Registros YMM. Se puede encontrar cómo se ven los resultados de la evaluación comparativa generados por el programa. en el repositorio oficial al final de la página.

Vale la pena señalar que uarch-bench, al igual que temci, desconecta Función Intel Turbo Boost (aumenta automáticamente la velocidad del reloj del procesador bajo carga) para que los resultados de las pruebas sean consistentes.

Por ahora, el proyecto se encuentra en las primeras etapas de desarrollo, por lo que uarch-bench no tiene documentación detallada y su funcionamiento puede contener errores, por ejemplo, las dificultades son conocidas con lanzamiento en Ryzen. Además, sólo se admiten pruebas comparativas para arquitecturas x86. El autor promete agregar más funciones en el futuro y lo invita a unirse al desarrollo.

líquido

Este es un conjunto de herramientas para evaluar el rendimiento de máquinas Linux con procesadores Intel, AMD y ARMv8. Fue creado bajo los auspicios del Ministerio Federal de Educación e Investigación de Alemania en 2017 y lanzado en código abierto.

Entre las herramientas likwid, podemos destacar likwid-powermeter, que muestra información de los registros RAPL sobre la energía consumida por el sistema, así como likwid-setFrequencies, que permite controlar la frecuencia del procesador. Puedes ver la lista completa encontrar en el repositorio.

La herramienta es utilizada por ingenieros involucrados en la investigación de HPC. Por ejemplo, con likwid obras un grupo de especialistas del Centro Regional de Computación de la Universidad de Erlangen-Nuremberg (RRZE) en Alemania. También participa activamente en el desarrollo de este conjunto de herramientas.

Puntos de referencia para servidores Linux: una selección de herramientas abiertas
Фото - Clem Onojeghuo — Desechar

herramientas-perf

Esta herramienta para analizar el rendimiento de los servidores Linux. presentado Brendan Gregg. Él es uno de los desarrolladores. DTrace – un marco de seguimiento dinámico para depurar aplicaciones en tiempo real.

perf-tools se basa en los subsistemas del kernel perf_events y ftrace. Sus utilidades le permiten analizar la latencia de E/S (iosnoop), rastrear los argumentos de las llamadas al sistema (unccount, funcslower, funcgraph y functrace) y recopilar estadísticas sobre "aciertos" en el caché de archivos (cachestat). En el último caso, el comando tiene este aspecto:

# ./cachestat -t
Counting cache functions... Output every 1 seconds.
TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB
08:28:57 415 0 0 100.0% 1 191
08:28:58 411 0 0 100.0% 1 191
08:28:59 362 97 0 78.9% 0 8
08:29:00 411 0 0 100.0% 0 9

Se ha formado una comunidad bastante grande en torno al instrumento (casi 6 mil estrellas en GitHub). Y hay empresas que utilizan activamente perf-tools, por ejemplo Netflix. Pero la herramienta se está desarrollando y modificando aún más (aunque últimamente se han publicado actualizaciones muy raramente). Por lo tanto, pueden ocurrir errores en su funcionamiento: el autor escribe que a veces perf-tools provoca pánico en el kernel.

llvm-mca

Una utilidad que predice cuántos recursos informáticos requerirá el código de máquina en diferentes CPU. Ella aprecia Instrucciones por ciclo (IPC) y la carga en el hardware que genera una aplicación en particular.

llvm-mca fue presentado en 2018 como parte del proyecto LLVM, que está desarrollando un sistema universal para el análisis, transformación y optimización de programas. Se sabe que los autores de llvm-mca se inspiraron en una solución para analizar el rendimiento del software. IACA de Intel y buscó crear una alternativa. Y según los usuarios, el resultado de la herramienta (su diseño y cantidad) realmente se parece a IACA - ejemplo se puede encontrar aquí. Sin embargo, llvm-mca sólo acepta Sintaxis de AT&T, por lo que lo más probable es que tengas que utilizar convertidores para trabajar con él.

Sobre qué escribimos en nuestros blogs y redes sociales:

Puntos de referencia para servidores Linux: una selección de herramientas abiertas "Estera. Modelo de Wall Street" o cómo optimizar los costes de la nube

Puntos de referencia para servidores Linux: una selección de herramientas abiertas Cómo asegurar su sistema Linux: 10 consejos
Puntos de referencia para servidores Linux: una selección de herramientas abiertas Minimizar riesgos: cómo no perder tus datos

Puntos de referencia para servidores Linux: una selección de herramientas abiertas Libros para quienes ya están involucrados en la administración de sistemas o recién están planeando comenzar
Puntos de referencia para servidores Linux: una selección de herramientas abiertas Selección: cinco libros y un curso sobre redes

Puntos de referencia para servidores Linux: una selección de herramientas abiertasNosotros en 1cloud.ru ofrecemos un servicio gratuito "Alojamiento DNS" Puede administrar registros DNS en una única cuenta personal.

Fuente: habr.com

Añadir un comentario