JPerf : Manual para medir ancho de banda entre dos ordenadores

Jperf es una interfaz gráfica de usuario basada en Java que nos permitirá utilizar el popular programa iperf para medir la velocidad máxima entre dos equipos. En RedesZone llevamos utilizando Jperf mucho tiempo, para medir el rendimiento que obtenemos en las pruebas LAN-LAN, LAN-WAN y también pruebas WiFi. JPerf está basado en iperf2, y actualmente no es compatible con el popular iperf3 que es mucho más eficiente. En este tutorial os vamos a enseñar cómo utilizar este programa tan interesante para medir la velocidad real entre dos equipos, independientemente de si están conectados en la red local LAN o en Internet.

Principales características de Jperf

Como hemos explicado anteriormente, Jperf no es más que una interfaz gráfica de usuario del popular programa iperf, por tanto, vamos a hablar de las principales características de iperf. Este programa es un cliente-servidor muy sencillo de utilizar, permite medir la velocidad máxima que alcanzan dos equipos conectados a través de la red local o Internet, es muy útil para comprobar la velocidad WiFi sin que la conexión a Internet haga de cuello de botella.

Este programa Jperf y también iperf es compatible con todos los sistemas operativos, tanto Windows, Linux como macOS, ya que está basado en Java. Solamente necesitaremos tener instalado Java para poder ejecutar el programa correctamente.

Iperf es compatible tanto con el protocolo TCP como el protocolo UDP, además, vamos a poder configurar el tamaño de ventana TCP y otros parámetros muy avanzados como el buffer, el tamaño máximo del segmento y más. Vamos a poder mostrar la velocidad en diferentes unidades de medida, como en Mbits, MBytes, Gbps y otras, además, podremos configurar el intervalo de reporte de los datos, la duración de la prueba, e incluso los streams paralelos que va a enviar. Al utilizar TCP y UDP, deberemos definir el mismo puerto TCP o UDP tanto en el servidor como en el cliente, de lo contrario, no podrán comunicarse el cliente con el servidor. Por supuesto, este programa es compatible tanto con redes IPv4 como también con redes IPv6.

En definitiva, las principales características de este programa son las siguientes:

  • Permite medir el ancho de banda entre dos host, ya sean cableados, inalámbricos o a través de Internet.
  • Permite ver en tiempo real cómo se transfieren los datos
  • Podremos configurar diferentes hilos TCP simultáneamente, para comprobar el rendimiento con muchas conexiones concurrentes.
  • Soporta UDP, podremos transferir tráfico UDP con varios hilos concurrentes para exprimir el ancho de banda de la red local
  • Permite la visualización de los datos en Mbps y Gbps, ideal para redes de alta velocidad.
  • No se recomienda usar este programa para redes Multigigabit o superiores a 1Gbps, en su lugar, es mejor que utilicéis el programa iperf3 del que tenemos un completo tutorial.
  • Permite medir la velocidad de subida (por defecto), la velocidad de subida y descarga (por separado, primero se comprueba la velocidad de subida y luego de descarga), y finalmente también podremos configurar la medición de descarga y subida de forma simultánea.
  • Podremos modificar la ventana TCP en el sistema operativo.
  • Permite configurar tanto servidor Iperf como cliente Iperf, definiendo direcciones IP y puertos cuando sea necesario, dependiendo de lo que hayamos elegido.
  • Es compatible con sistemas operativos Windows, Linux y macOS, al estar basado en Java podremos tener la posibilidad de ejecutarlo en diferentes sistemas operativos.
  • Internamente utiliza iperf2 para la comunicación, realmente jPerf es una interfaz gráfica de usuario basada en Java.

Tal y como se puede ver, este programa es realmente completo y nos permitirá medir el rendimiento real de una red local o de Internet, pero os recomendamos no utilizar este programa para redes superiores a 1Gbps porque se comporta claramente peor que otras herramientas, como iperf3. En el caso de que utilices este programa para redes superiores a 1Gbps, es muy posible que no consigas más velocidad que 1.2Gbps aproximadamente, a no ser que modifiques ventana TCP y otros parámetros avanzados.

Descarga e instalación de Jperf

Este programa está discontinuado, es decir, no tendremos nuevas funcionalidades y la última versión es la jperf-2.0.2. Os recomendamos descargar esta última versión desde este enlace que lleva directamente a Google Code Archive. La última versión es la 2.0.2 por lo que debemos utilizar esta.

Una vez descargado, tendremos que descomprimir el archivo ZIP y ya podremos ejecutarlo, no es necesaria ningún tipo de instalación, es un programa portable y compatible con todos los sistemas operativos. A continuación, os indicamos los pasos para ejecutar este programa, debemos tener en cuenta que el único requisito es tener Java instalado en nuestro ordenador, de lo contrario, nos devolverá error.

Ejecución de Jperf en Windows

Una vez que hayamos descomprimido el ZIP descargado, entramos en la carpeta y hacemos doble click sobre el archivo que pone «jperf.bat». Este script hará todo lo necesario para arrancar correctamente el programa y empezar a utilizarlo.

Ejecución de Jperf en Linux o macOS

Una vez que hayamos descomprimido el ZIP descargado, debemos abrir un terminal y proporcionar permisos de ejecución al archivo, de lo contrario, no podremos ejecutarlo.

sudo chmod u+x jperf.sh

Una vez que tenga permisos de ejecución, lo podremos ejecutar de la siguiente forma:

sh jperf.sh

No es necesario ejecutarlo con permisos de administrador.

Funcionamiento y primer test de velocidad

El funcionamiento de Jperf es muy sencillo, lo primero que debemos tener claro, es que estamos ante un programa cliente-servidor, por tanto, debemos tener dos equipos, uno que actúe como servidor y el otro como cliente.

  • Servidor: este equipo tiene la IP 192.168.1.3, pinchamos en Jperf en la sección de «Server», Listen Port 5001 que viene por defecto, y pinchamos en «Run Iperf»
  • Cliente: este equipo tiene la IP 192.168.1.2, pinchamos en Jperf en la sección de «Client», ponemos «Server Address: 192.168.1.3», «Port: 5001» que es el de por defecto, y en «Parallel Streams» podremos dejarlo a 1. Pinchamos en el botón de «Run Iperf!» y ya debería establecer comunicación con el servidor.

En el cuadro de debajo que nos indica «Output» podremos ver todo lo que está haciendo Iperf en bruto, como si lo ejecutásemos a través de la línea de comandos.

En la sección de «Parallel Streams» es recomendable poner un valor de 50 o superior, para lanzar varias conexiones TCP o UDP simultáneas y estresar al máximo el enlace.

Opciones de configuración interesantes

En la parte de la izquierda del menú de Jperf, podremos ver diferentes opciones de configuración que os vamos a explicar:

  • Transmit: bytes o segundos. Podremos definir si realizar un test de rendimiento durante 10 segundos, o hasta que se llegue a unos determinados bytes. Nuestra recomendación es usar tiempo, 10 segundos o el tiempo que sea, para comprobar la velocidad media durante este tiempo.
  • Output Format: el formato de salida, es recomendable para redes rápidas usar Gbps o Mbps, también se pueden usar GBytes o MBytes para tener la misma unidad que la transferencia de datos en Windows y otros programas.
  • Report Interval: cada cuanto tiempo nos va a proporcionar datos en el «Output» que tenemos en la parte inferior.
  • Testing Mode: Dual y trade. Estas dos opciones son muy interesantes. Cuando nosotros ejecutamos un iperf «normal», estamos transfiriendo datos desde el cliente hasta el servidor, en sentido subida.
    • Dual: realizará el test de subida y a la vez el de descarga, para comprobar el Full-Duplex de la conexión. No usar en combinación con «Trade».
    • Trade: realizará primero el test de subida, y una vez que termine, realizará el test de descarga. No se hace la subida y descarga a la vez. No usar en combinación con «Dual».
  • Test port: lo dejamos por defecto.
  • Representative File: lo dejamos en blanco
  • Print MSS: nos mostrará el MSS.

En la parte inferior izquierda, podremos configurar tanto el protocolo TCP como UDP, en principio, no se deberían tocar estos parámetros, a no ser que sepas lo que estás haciendo. Por último, también podremos ver las opciones a nivel de IP, seleccionar el ToS, y hacer bind hacia una dirección IP, y activar la compatibilidad con IPv6.

En la parte central inferior, podremos ver todo el registro de salida del programa, podremos guardarlo, limpiarlo, e incluso limpiar el registro cada vez que ejecutemos un nuevo iperf, ideal para no tener que borrarlo de manera manual.

Tal y como habéis visto, este programa Jperf es muy sencillo porque nos permite ejecutar un iperf con interfaz gráfica de usuario, sin necesidad de introducir complicados comandos y argumentos.

27 Comentarios