Phoronix Test Suite - Benchmarking Automatizado
Phoronix Test Suite (PTS) es un marco de benchmarking automatizado de código abierto y multiplataforma. Proporciona cientos de perfiles de prueba descargables (CPU, GPU, disco, memoria, compiladores, bases de datos, y más), maneja su instalación y dependencias, los ejecuta reproduciblemente, agrega resultados, y puede subirlos/compararlos a través de OpenBenchmarking.org. Convierte “haz benchmark de mi sistema” de una tarea manual en un proceso repetible, compartible y llave en mano.
Instalación
| Plataforma | Comando |
|---|
| Debian/Ubuntu | sudo apt install phoronix-test-suite |
| Fedora/RHEL | sudo dnf install phoronix-test-suite |
| Arch (AUR) | yay -S phoronix-test-suite |
| Genérico | descarga el tarball de lanzamiento, ejecuta ./install-sh |
| Requisito | PHP (CLI) es requerido |
| Verificar | phoronix-test-suite version |
Conceptos Principales
| Término | Significado |
|---|
| Perfil de prueba | Un single benchmark (ej. pts/stress-ng) |
| Suite de prueba | Un paquete de perfiles de prueba relacionados |
| Resultado | Salida de benchmark guardada para un sistema |
| OpenBenchmarking.org | Repositorio en nube de perfiles y resultados compartidos |
| Modo de lote | Ejecuciones no interactivas para automatización |
Encontrando e Instalando Pruebas
| Comando | Descripción |
|---|
phoronix-test-suite list-available-tests | Lista todos los perfiles de prueba descargables |
phoronix-test-suite list-available-suites | Lista suites de prueba |
phoronix-test-suite search compress | Busca pruebas |
phoronix-test-suite info pts/stress-ng | Muestra detalles sobre un perfil |
phoronix-test-suite install pts/stress-ng | Descarga e instala una prueba |
Ejecutando Benchmarks
| Comando | Descripción |
|---|
phoronix-test-suite benchmark pts/stress-ng | Instala + ejecuta en un paso |
phoronix-test-suite run pts/c-ray | Ejecuta una prueba instalada |
phoronix-test-suite default-run pts/cpu | Ejecuta con opciones predeterminadas |
phoronix-test-suite benchmark build-linux-kernel | Compilación del kernel estrés (CPU+RAM+bus) |
phoronix-test-suite finish-run RESULT | Reanuda/completa una ejecución guardada |
Durante una ejecución PTS solicita un nombre de resultado y puede repetir pruebas para computar un promedio confiado.
Gestionando Resultados
| Comando | Descripción |
|---|
phoronix-test-suite list-saved-results | Lista resultados locales |
phoronix-test-suite show-result RESULT | Muestra un resultado |
phoronix-test-suite compare-results-to-baseline | Compara contra una línea de base |
phoronix-test-suite merge-results A B | Fusiona archivos de resultado |
phoronix-test-suite result-file-to-csv RESULT | Exporta a CSV |
phoronix-test-suite remove-result RESULT | Elimina un resultado |
Comparando Sistemas
# Ejecuta la misma prueba en dos máquinas, da IDs de resultado coincidentes, luego:
phoronix-test-suite merge-results machineA machineB
phoronix-test-suite show-result merged # comparación lado a lado
Lote / Automatización
| Comando | Descripción |
|---|
phoronix-test-suite batch-setup | Configura predeterminados no interactivos |
phoronix-test-suite batch-benchmark pts/cpu | Ejecuta sin prompts |
TEST_RESULTS_NAME=run1 phoronix-test-suite ... | Establece nombre de resultado vía env |
| Variables env | FORCE_TIMES_TO_RUN, BATCH_MODE, etc. controlan ejecuciones |
| Comando | Descripción |
|---|
phoronix-test-suite system-info | Inventario detallado de hardware/software |
phoronix-test-suite system-sensors | Lee sensores disponibles |
phoronix-test-suite diagnostics | Diagnósticos del entorno |
Flujos de Trabajo Comunes
# Llave en mano CPU + empapamiento de memoria vía la prueba de compilación del kernel
phoronix-test-suite benchmark build-linux-kernel
# Benchmark reproducible de almacenamiento, exportado para un reporte
phoronix-test-suite benchmark pts/fio
phoronix-test-suite result-file-to-csv <result-name>
# Validación de estabilidad combinando herramientas: PTS para carga, observa dmesg/journal
phoronix-test-suite batch-benchmark pts/stress-ng
Phoronix Test Suite vs Herramientas Individuales
| Aspecto | Phoronix Test Suite | sysbench | stress-ng |
|---|
| Alcance | Cientos de perfiles, muchos dominios | CPU/mem/IO/BD | Stressors de CPU/mem/IO |
| Automatización | Completa (lote, perfiles, resultados) | Scripting manual | Banderas manuales |
| Compartir resultado | OpenBenchmarking.org | Ninguno | Ninguno |
| Mejor para | Suites comparables y reproducibles | Micro-benchmarks dirigidos | Carga de estrés/estabilidad |
Recursos