Ir al contenido
Shiba87

Phoronix Test Suite (PTS). Realizar benchmarks y otras pruebas de rendimiento

Recommended Posts

wpngMmk.png

 

Para el que no la conozca, Phoronix Test Suite (PTS) es una plataforma de Testeo o benchmarking que permite realizar de manera automática un gran número de pruebas diferentes, a la vez que hacer comparativas de resultados entre distintas configuraciones de Hardware, software o incluso haciendo una puesta en común con usuarios de todo el mundo a través de la plataforma OpenBenchmarking.

El cliente también es multiplataforma, así que podremos hacer comparativas entre distintos sistemas operativos, aunque en esta ocasión me centraré únicamente en GNU/Linux.

Aunque la plataforma de testeo en sí, como ya hemos dicho, es libre, algunos de sus benchmarks pueden no serlo, como por ejemplo los de Unigine o Counter Strike Source o Team Forterss 2. En esos y otros casos como ETQW o Doom3 necesitaremos contar con una licencia original para poder ejecutarlos u optar por pasar únicamente la versión "demo".

El software de testeo lo que podremos encontrar fácilmente en repositorios de Debian, Fedora, Arch y OpenSuse y seguramente en muchas otras distribuciones.
 
 
Instalación

No me entretendré en el proceso de instalación, el paquete se llama phoronix-test-suite, sólo tendremos que instalarlo como cualquier otro paquete, ya sea desde consola o mediante alguna herramienta gráfica de nuestra distribución:
 

Arch
 

pacman -S phoronix-test-suite

 
Debian
 

aptitude install phoronix-test-suite

 
Fedora
 

yum install phoronix-test-suite

 
OpenSuse
 

zypper instal phoronix-test-suite

También lo encontraremos como paquete deb y como comprimido tar.gz en su página oficial, así como el repositorio git en caso de querer compilar la última versión en desarrollo:

http://www.phoronix-test-suite.com/

Primeros pasos

PTS es simplemente una suite que nos permite automatizar rondas de test, pero no contiene las aplicaciones que se utilizan para ese fin,necesitaremos estar conectados a internet para que las pueda descargar y realizar las pruebas. Todo el proceso es automático, nosotros sólo tendremos que decirle las pruebas que queremos realizar y esperar a que PTS termine y nos de los resultados.

Notaremos que al realizar peticiones e incluso al arrancar la suite se demora bastante en hacer las cosas, algo que es normal, dado que tiene que ir descargando información de Internet, listas de tests, suites creadas por otros usuarios, resultados subidos a OpenBenchmarking...., así que requiere algo de paciencia.




Realizando tests

Hay dos maneras principales de utilizar phoronix test suite, bien introduciendo los comandos con lo que queremos hacer de forma manual o utilizando el menú de la suite donde podremos ir confeccionando suites y realizando pruebas simplemente eligiendo entre las opciones que nos ofrece en cada momento.

Ejecutar la aplicación es tan sencillo como ir al menú de nuestro sistema y hacer click en el lanzador de phoronix-test-suite o ejecutar directamente:
 

phoronix-test-suite

 
Nos encontraremos en el menú de selección, donde se nos ofrecerán distintas opciones a elegir a través de la línea de comandos.
 

KlfHWjx.png

 
La otra opción es utilizar Phoronix Test Suite de manera gráfica ejecutando
 

phoronix-test-suite gui

 
En este caso será nuestro navegador el que servirá de centro de operaciones, tanto para instalar/ejecutar benchmarks como a la hora de estudiar lo resultados.
 

epbXZT6.png


A la hora de trabajar con PTS podemos planteárnoslo de diferentes maneras. En caso de querer realizar un único test no tendremos más que indicarle cuál de ellos y configurarlo como mejor convenga para nuestro test, PTS descargará lo que necesitemos, hará varias pasadas del test con la configuración fijada y nos dará los resultados.
Sin embargo, si lo que buscamos es realizar diferentes pruebas, con diferentes configuraciones más de una vez, lo que debemos crear es una suite personalizada y en lugar de realizar los test por separado ejecutar directamente la suite que hemos creado.
 
 
Ya que en el modo gráfico no tiene más ciencia que hacer click, repasaremos con detenimiento la forma de trabajar en consola a la vez que ponemos algún ejemplo de cómo se vería en ambos casos
 
Lo primero que debemos saber es qué test o suites tenemos disponibles, para lo que utilizaremos las opciones list-available-tests y list-available-suites

phoronix-test-suite list-available-tests
phoronix-test-suite list-available-suites

Recordemos que esta información la tiene que descargar de Internet, por lo que tardará un rato:
 
 

eo6vz02.png
 
16uM5CL.png



En ambos casos, para pasar alguno de los test/suite de la lista sólo tendremos que usar la orden benchmark:
 
 

phoronix-test-suite benchmark Nombre-del-test

phoronix-test-suite benchmark Nombre-de-la-suite

 
Cada test/suite nos pedirá que lo configuremos de una manera diferente, dado que hay test pensados para probar aspectos del sistema muy distintos, CPU, gráficos, sistemas de ficheros...
 

vVP1tZS.png

 

r2qnwbK.png

YCQOnr5.png

pero coincidirán siempre en varios puntos, que son:

  • 1º Guardar los resultados una vez finalizadas las pruebas, tan sencillo como decir Sí (y) o No (n)
    *(Sólo en caso de decir sí)
  • 2º Nombre con el que guardar dichos resultados. Los resultados de los tests se guardarán en nuestro home, en .phoronix-test-suite/test-results cada uno en una carpeta individual que incluirá datos y gráficos.
    Lo que introducimos en este punto es el nombre de esa carpeta.
  • 3º Nombre único que describa el test. Este nombre es el que aparecerá en las gráficas, éste es el que debemos elegir con cuidado para no confundirnos después al comparar resultados
  • 4º Este punto está relacionado con la información del sistema/equipo en el que se realizan las pruebas. Por defecto este valor se rellena de manera automática, podemos verlo en cualquier momento ejecutando:
    phoronix-test-suite system-information

    YCQOnr5.png

Este punto es opcional, si queremos añadir algo más lo escribiremos aquí, si no lo dejamos en blanco y aparecerá la información que arroja el comando anterior.
 

KVnCgvp.png

 

GidcnsN.png

 

Llegados a este punto, tanto si hemos introducido el nombre de un test como el de una suite, ya sólo nos queda esperar a que PTS termine de descargar todo lo necesario, haga varias pasadas de los tests y nos de los resultados.
Antes de empezar debería mostrar un tiempo aproximado de lo que podría tardar en realizarse el conjunto de pruebas que irá disminuyendo conforme vayan terminando los tests a realizar.




Creando suites personalizadas

Para crear una suite personalizada que incluya una serie de test que se ejecutan con unas configuraciones concretas utilizaremos la orden build-suite

phoronix-test-suite build-suite

Lo primero que nos preguntará es el nombre que queremos darle a la suite. Tengan en cuenta que ese será el nombre que utilizarán luego con la orden benchmark, por lo que no lo compliquen demasiado.

Una vez hayamos introducido un nombre nos pedirá que lo clasifiquemos según el tipo de Suite que queremos crear, el nombre del mantenedor de la suite y una descripción de la misma. Esto no tiene ningún efecto sobre las pruebas, es simplemente para tener todo más ordenado o si queremos compartir luego la suite en Openbenchmarking tengamos todo bien documentado. Podemos rellenarlo como queramos, es nuestra suite al fin y al cabo.

Llegados a este punto sólo queda ir añadiendo test a la suite y configurándolos tal y como vimos en el caso anterior, sólo que en esta ocasión no se descargará o ejecutará nada, sólo se irán guardando las configuraciones en la suite que estamos creando.
También tenemos la opción de encadenar suites ya existentes, nos permite hacer diferentes combinaciones o ampliar suites que hayamos creado con anterioridad.

Una vez hayamos añadido y configurado todos los tests que queremos, guardaremos los cambios y saldremos del build-suite (Save & Exit).


Esa suite que hemos creado pasará a estar disponible en nuestra lista de suites, podremos ejecutarla en cualquier momento como ya vimos antes:
 

phoronix-test-suite benchmark Nombre-de-nuestra-suite

Al igual que los resultados de los tests, las suites que creemos se guardarán en nuestro home dentro de .phoronix-test-suite/test-suites/local, cada una en una carpeta individual.





Comparar resultados

Para comparar resultados debemos utilizar los nombres con los que los guardamos, es decir, los que figuran en las carpetas que tenemos en .phoronix-test-suite/test-results
Podremos ver todos los resultados que tenemos guardados de manera sencilla haciendo uso de la orden list-saved-results

phoronix-test-suite list-saved-results

xz4Cqfe.png

 

5hjfd6x.png?2

 

Para hacer tablas comparativas con los resultados utilizaremos la orden merge-results
 

phoronix-test-suite merge-results resultado1 resultado2 resultado3....

 

OpAM90P.png

 

gKnbZwh.png

 

 

Esta comparativa también será almacenada en la carpeta de resultados con el nombre de merge-xxxx, siendo xxxx un número identificativo de 4 dígitos.


Tanto los resultados individuales como los que hemos comparado con merge-results pueden ser exportados a pdf con la orden result-file-to-pdf
 

phoronix-test-suite result-file-to-pdf nombre-test-guardado

También podemos exportarlos a cvs
 

phoronix-test-suite result-file-to-cvs nombre-test-guardado

o a un fichero de texto plano
 

phoronix-test-suite result-file-to-text nombre-test-guardado




Poco más queda por decir, PTS tiene más opciones y modos de funcionamiento, pero todo se reduce básicamente a ir creando suites y haciendo test en base a nuestras necesidades.
 

Compartir este post


Enlace al post
Compartir en otros sitios

En Lubuntu Flavitu va bien pero el gui no me abre ningun navegador y su contenido en php o html , o sea me lanza el programa en terminal, y una licencia la cual ya he aceptado.

Compartir este post


Enlace al post
Compartir en otros sitios

Buenas tardes,

 

He estado utilizando esta herramienta y la considero muy potente. Sin embargo, no he podido averiguar si existe una manera de asignar un "puntaje global" a una suite, o sea, un puntaje único de la suite calculado a partir de los puntajes de los tests que componen a la suite. Es posible realizar algo similar?

 

Desde ya muchas gracias!

Fabián.

Compartir este post


Enlace al post
Compartir en otros sitios

Registra una cuenta o conéctate para comentar

Debes ser un miembro de la comunidad para dejar un comentario

Crear una cuenta

Regístrate en nuestra comunidad. ¡Es fácil!

Registrar una cuenta nueva

Iniciar Sesión

¿Ya tienes cuenta? Conéctate aquí.

Iniciar Sesión

×