¿Cómo medir el rendimiento del CPU de un VPS?

Hace pocos días les comenté cómo saber la velocidad de un HDD usando el comando dd, pues bien en esta ocasión les mostraré una herramienta que nos sirve para hacer benchmark de muchas cosas, pero hoy solo lo usaremos para rendimiento del CPU.

cpu

Instalando sysbench

Esta herramienta (sysbench) no sirve como dije antes, para hacer benchmark de varias cosas (I/O, CPU, MySQL, etc), en esta ocasión solo la usaremos para el CPU, primero obviamente… debemos instalarla:

En sistemas como Debian, Ubuntu o similares:

sudo aptitude install sysbench

En ArchLinux y derivados:

yaourt -S sysbench

Usando sysbench para medir rendimiento de CPU

Ahora solo nos queda ejecutarlo con privilegios de admin y con los parámetros apropiados:

sysbench --test=cpu --cpu-max-prime=20000 run

¿qué significa esto?

  1. Haremos un test del CPU
  2. El número debe ser tal que el test dure al menos 10 segundos, 20000 es un valor que les debe servir.

Aquí les dejo varios outputs de mi PC y algunos servidores que administro:

Cómo verificar el rendimiento del CPU

Lo realmente importante es el tiempo de ejecución, o sea, qué tan rápido el CPU completó el test.

O sea, en el 1er screenshot se ve que el CPU completó el test en 40.5 segundos, el segundo muestra que lo completó en 46.5 segundos, mientras que le 3er y último screenshot nos indica que el test se completó en 26.9 segundos.

Esto significa que el 3er CPU es el más rápido, porque completó el test en menor tiempo que los otros, ¿simple o no?

Por cierto, si están pensando que un servidor/ordenador con 8 núcleos y otro con solo 4, el de 8 núcleos siempre completará más rápido el test por tener mayor cantidad … están en un error, el test corre en un solo núcleo, o sea, la cantidad no importa acá 😉

Bueno eso es todo, espero les haya sido de utilidad, yo sigo corriendo tests en el VPS de GNUTransfer 😀


13 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Miguel dijo

    No tiene mucho sentido correr un test mononúcleo en un servidor teniendo en cuenta que la mayoría de las tareas que va a realizar este van a hacer uso de varios núcleos.

    1.    KZKG^Gaara dijo

      Muchas veces es necesario saber, independientemente de la cantidad de núcleos, cuál es el CPU que mejor rendimiento ofrece.

      No todo es la cantidad, muchas veces es más importante la calidad.

    2.    Just Geek dijo

      Con este test podras saber cuanta iPC tiene el procesador y en base a eso podras elegir cuantos nucleos vas a disponer …. simple

    3.    manuti dijo

      En estos ejemplos se puede ver como se puede seleccionar el número de hilos que corren el test para exprimir todos los núcleos posibles:
      http://raspberryparatorpes.net/rivales/sysbench-raspberry-pi-vs-odroid-vs-banana-pro/

    4.    Juan Ponce Riquelme dijo

      totalmente de acuerdo para mi sería mas real un bech k ocupara todos los núcleos juntos

  2.   manuti dijo

    Y por si queréis comparar con algo de bajo nivel una serie de test con mini PC ARM, Raspberry Pi, ODROID y Banana PRO:
    http://raspberryparatorpes.net/rivales/sysbench-raspberry-pi-2/
    http://raspberryparatorpes.net/rivales/sysbench-raspberry-pi-vs-odroid-vs-banana-pro/

  3.   Sli dijo

    Buen articulo, por cierto ya que dices que es para servidores podrias poner para centos

  4.   Sli dijo

    Por casualidad el pantallazo del medio no sera el de GNU transfer??

    1.    KZKG^Gaara dijo

      Los dos primeros son de GNUTransfer 😀

  5.   Hades dijo

    Test execution summary:
    total time: 21.6028s
    total number of events: 10000
    total time taken by event execution: 21.6020
    per-request statistics:
    min: 2.14ms
    avg: 2.16ms
    max: 5.56ms
    approx. 95 percentile: 2.24ms

    Threads fairness:
    events (avg/stddev): 10000.0000/0.00
    execution time (avg/stddev): 21.6020/0.00

  6.   juan dijo

    Test execution summary:
    total time: 19.7614s
    total number of events: 10000
    total time taken by event execution: 19.7599
    per-request statistics:
    min: 1.91ms
    avg: 1.98ms
    max: 5.73ms
    approx. 95 percentile: 2.08ms

    Threads fairness:
    events (avg/stddev): 10000.0000/0.00
    execution time (avg/stddev): 19.7599/0.00

    Esto es bueno entonces? es un fx 8120.

    1.    miguelon66 dijo

      Running the test with following options:
      Number of threads: 1

      Doing CPU performance benchmark

      Threads started!

      Done.

      Maximum prime number checked in CPU test: 20000

      Test execution summary:
      total time: 108.2065s
      total number of events: 10000
      total time taken by event execution: 108.1852
      per-request statistics:
      min: 9.02ms
      avg: 10.82ms
      max: 54.76ms
      approx. 95 percentile: 16.91ms

      Threads fairness:
      events (avg/stddev): 10000.0000/0.00
      execution time (avg/stddev): 108.1852/0.00

      que les parece muy lento el mio no?

  7.   Anónimo dijo

    lo bueno seria poner de varios sistemas,sobretodo tipo rasberry orange pi etc, y ver las grandes/no tan grandes diferencias.