Ir al contenido principal

Validando ancho de banda desde consola

Estimados, vuelvo con un post mas, ya que hacia algo de tiempo que no escribía.

Como mi trabajo es mucho de servidores, normalmente no instalamos la parte gráfica de la misma, en varias ocasiones necesitamos saber cual es el ancho de banda con el que cuenta el servidor. Esto ya que mi trabajo mayormente es con telefonía IP.

Bien, por algún tiempo me había preguntando si existía alguna herramienta, aplicación o lo que fuera para hacer un test de velocidad del ancho de banda que usan los servidores. Pues bien, encontré un script que me gustaría compartir.

Nota: lo siguiente es una traducción de la pagina original, así que si les gusta la lengua anglosajona, les paso el link: How to check Internet speed from the command line on Linux

Introducción


Cuando experimentas el acceso a Internet lento, normalmente haces un test de velocidad sobre tu ISP. Para eso, speedtest.net es la web de prueba de mayor uso en Internet.

Internamente, speedtest carga código javascript  en tu navegador, con el cual automáticamente detecta el host mas cercano a tu conexion, y mide la velocidad de descarga/subida enviando solicitudes HTTP POST y/o GET hacia el servidor.

Sin embargo, si tratas de revisar la velocidad de Internet en un servidor, VPS u otro equipo sin escritorio (KDE, Gnome, Windows, etc), la plataforma Flash de Speedtest no funcionaria. Para ello existe un interfaz de linea de comando (CLI) de Speedtest, conocida como speedtest-cli. Vamos a demostrar como usar speedtest-cli para revisar la velocidad de Internet desde la linea de comando.

Instalando speedtest-cli en Linux


speedtest-cli es un cliente escritor en Python para la medición bidireccional de ancho de banda utilizando la infraestructura de Speedtest.com. Este trabaja con python 2.4-3.4. Para instalar solo basta con descargar el script.


$ wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
$ chmod u+x speedtest_cli.py
$ sudo mv speedtest_cli.py /usr/local/bin/speedtest-cli
$ sudo chown root:root /usr/local/bin/speedtest-cli


Probando la conexión


Es muy sencillo realizar la medición de velocidad de Internet speedtest-cli, solo hay que ejecutarlo sin parámetros


$ speedtest-cli


En automático, buscara el servidor mas optimo (en términos de distancia geografía) para hacer la medición y posterior reportara el resultado


Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Uninet S.A. de C.V. (189.186.37.251)...
Selecting best server based on ping...
Hosted by Triara (Los Mochis) [195.81 km]: 15.02 ms
Testing download speed........................................
Download: 3.02 Mbits/s
Testing upload speed..................................................
Upload: 0.31 Mbits/s


Si deseas conocer los servidores que tiene Speedtest, puedes ejecutar el script con el parametro "--list", el cual mostrara la lista justo a un numero asociado, para posteriormente ejecutar el script con el parametro "--server" y el numero del servidor


$ ./speedtest_cli.py --list
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
3371) Triara (Culiacan, Mexico) [0.65 km]
3372) Triara (Los Mochis, Mexico) [195.81 km]
3817) Click Intelvid (Los Mochis, Mexico) [195.81 km]
3354) Triara (Mazatlan, Mexico) [201.84 km]
3407) Triara (Durango, Mexico) [300.73 km]
3349) Triara (Obregon, Mexico) [393.05 km]
3361) Triara (Torreon, Mexico) [403.49 km]
3547) Megacable (Torreon, Mexico) [403.49 km]
1981) Cablemas (Delicias, Mexico) [422.91 km]
3341) Triara (Chihuahua, Mexico) [445.85 km]
1955) Cablemas (Chihuahua, Mexico) [445.85 km]
3348) Triara (Tepic, Mexico) [447.51 km]
3370) Triara (Zacatecas, Mexico) [504.72 km]
2858) Telecable (Puerto Vallarta, Mexico) [516.34 km]
3335) Triara (Puerto Vallarta, Mexico) [516.34 km]
...


Por ejemplo, para probar uno de Chihuahua de Cablemas (1955) seria:


$ ./speedtest_cli.py --server 1955
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Uninet S.A. de C.V. (189.186.37.251)...
Hosted by Cablemas (Chihuahua) [445.85 km]: 20.027 ms
Testing download speed........................................
Download: 3.00 Mbits/s
Testing upload speed..................................................
Upload: 0.27 Mbits/s


Y si deseas compartir tu resultado puedes ejecutar el script con el parametro "--share"


$ ./speedtest_cli.py --share
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Uninet S.A. de C.V. (189.186.37.251)...
Selecting best server based on ping...
Hosted by Triara (Durango) [300.73 km]: 15.338 ms
Testing download speed........................................
Download: 2.94 Mbits/s
Testing upload speed..................................................
Upload: 0.31 Mbits/s
Share results: http://www.speedtest.net/result/3551179518.png

Y al final te dara una URL donde podras ver el resultado.




Espero les haya agradado el manual. Se vale comentar

Saludos



Comentarios

Entradas más populares de este blog

Como montar particiones LVM en Linux

Como están lectores, reportandome después de varios meses fuera. Hace un par de días vi un howto que me gusto y quiero compartir. Nota: lo siguiente es una traducción, el original lo pueden ver el siguiente link: How to mount an LVM partition on Linux Introducción LVM es una herramienta de administración de volúmenes lógicos (particiones) la cual te permite administrar el espacio de disco usando la connotación de volúmenes lógicos y grupo de volúmenes. El mayor beneficio de usar LVM sobre las particiones clásicas es la flexibilidad en la asignación de almacenamiento para usuarios y aplicaciones sin verse limitado por el tamaño de los discos individuales. En LVM, el almacenamiento físico, en el cual se crean los volúmenes lógicos, son particiones tradicionales (/dev/sda1, /dev/sda2). Estas particiones deben ser marcadas como "volúmenes físicos" y etiquetadas como "Linux LVM", esto para ser usadas en LVM. Como no montar Unas vez que las particiones h

Configurando interfaces de red virtuales en Linux

Estimados, de nuevo en acción retomando mi rumbo. Les traigo un traducción de un howto que me llamo la atención y creo que es bueno tener información en castellano. Así que aquí esta: La entrada original la pueden tener aqui (si te gusta leer en ingles), comencemos. Introducción ¿Sabia que puedes asignar mas de una dirección IP a una única interfaz de red? Esta técnica es muy utilizada, por ejemplo cuando se trabaja con Apache y host virtuales, esto para permitir accesar al mismo servicio pero usando dos direcciones IP. Interfaz de red virtual temporal  El proceso de crear interfaces de red virtual en +GNU/Linux  es muy simple. Esto involucra una ejecución simple del comando ifconfig ifconfig eth0:0 123.123.22.22 El comando anterior creara una nueva interfaz de red virtual basada en la interfaz física de eth0 . Lo condición mas importante para crear una interfaz de red virtual es la interfaz física de red, como en nuestro ejemplo, eth0 debe existir. El ejemplo comple

Como leer/visualizar archivos utmp, wtmp y btmp en Linux

Lectores, les paso este "Como" de linux, algo que debe ser usado por cualquier sysadmin de Linux. Esperando aportar conocimiento, aqui les dejo. Introducción. En sistemas operativos Linux/Unix todo es registrado en algun lado (los conocidos logs). La mayoria de registros del sistema se almacenan en el directorio /var/log . El directorio contiene registros relacionados a distintos servicios y/o aplicaciones. En este directorio tenemos algunos archivos como utmp , wtmp y btmp . Estos archivos contienen todo el detalle de registro de inicio (login) y termino (logout) de sesiones de usuarios ya sea local, sistemas remoto, como estado en el sistema, tiempo en linea, etc. Informacion sobre los archivos utmp : te mostrara informacion completa del acceso de usuarios, la terminal que usa, termino de sesion, eventos del sistema y el estado actual del mismo, etc. wtmp : contiene el historio del archivo utmp btmp : registros solo intentos fallidos de sesion. Como no