Buscar

Linux: Speedtest.net CLI

Una forma de medir el ancho de banda es descargar un fichero y ver el ancho de banda consumido en la descarga.

Siempre se intenta elegir un servidor con mucho ancho de banda para que el límite no se produzca en el otro extremo de la conexión.

Veamos un ejemplo con wget de Linux:

wget -O /dev/null http://ftp.cixug.es/CentOS/6.6/isos/x86_64/CentOS-6.6-x86_64-bin-DVD1.iso

Como la salida está enviada a /dev/null, el fichero no será almacenado en disco.

Vista de ejecución:

Wget para medit ancho de banda

En muchas ocasiones utilizamos el servicio de http://www.speedtest.net/ para medir el ancho de banda de nuestra conexión a Internet, de esta forma tenemos la seguridad de realizar el test contra servidores preparados para medir la conexión.

El servicio consiste en elegir alguno de los servidores que propone y generar tráfico entre ambos durante X tiempo, a partir de esto se mide el ancho de banda.

El problema que podemos tener es que en ocasiones no disponemos de un navegador con soporte de Flash para realizar el test.


Muchas veces es necesario realizar el test desde sistemas embedidos que disponen de comandos básicos Unix/Linux recogidos dentro de BusyBox.

Como vimos en un post anterior, un ejemplo de uso de BusyBox es con los host VMWare ESXi:

VMWare: ESXi BusyBox (SYSADMIT.com)


Recordemos que cada sistema que integra BusyBox, dispondrá de más o menos comandos con más o menos opciones.


Podemos construir un script para conectar a los servidores de www.speedtest.net y así generar un test de ancho de banda de bajada.

El script consiste en descargar imágenes aleatorias de cierto tamaño desde los distintos servidores de speedtest.net y a partir de este dato, medir el ancho de banda de bajada.

Los ficheros posibles son los siguientes:

random500x500.jpg = 494KB
random750x750.jpg = 1.1MB
random1000x1000.jpg = 1.9MB
random1500x1500.jpg = 4.3MB
random2000x2000.jpg = 7.5MB
random2500x2500.jpg = 12MB
random3000x3000.jpg = 17MB
random3500x3500.jpg = 23MB
random4000x4000.jpg = 30MB


Como ejemplo de script y lista de servidores, nos ayudaremos de los siguientes enlaces:

Script de conexión:

https://github.com/i4dexter/test-bw/blob/master/test-bw.sh

Servidores:

http://www.speedtest.net/speedtest-servers.php

Podemos simplificar el script de la siguiente forma:

echo "scale=2; `curl --progress-bar  -w "%{speed_download}" -o /dev/null http://speedtest.eastern-tele.com/mini/speedtest/random1000x1000.jpg` / 131072" | bc | xargs -I {} echo {}Mb\/s

Ejemplo de ejecución:


Speedtest desde cli

No hay comentarios:

Publicar un comentario en la entrada