En algunas ocasiones necesitamos hacer pruebas de velocidad e incluso saturar nuestra línea de acceso a Internet para verificar que realmente podemos alcanzar el caudal contratado. Cuando esto ocurre muchas veces no disponemos de otro host remoto detrás de otra línea WAN y acabamos recurriendo a servidores FTP públicos que creemos que tienen buen ancho de banda, a mega.co.nz y hasta la Santísima Trinidad (incluso he visto usar clientes torrent y pensar en usar botnets!).

En esta entrada os voy a listar una serie de comandos para que los podáis copiar y pegar directamente en vuestro terminal y, simplemente desde vuestro equipo Linux (sin tienes dos mejor), podáis conseguir unas pruebas de benchmarking realmente impresionantes, sólo con iperf, wget, curl y poco más. Por supuesto también puedes currarte un sencillo script en shell para impresionar a tu jefe, o meter un while para petar una línea (cuidado con las que estén en producción).

Así que, al menos que quieras aprovechar para bajarte una serie desde la oficina, os recomiendo usar estos comandos contra estos servidores públicos de pruebas disponibles en Internet (por favor, si conoces más servidores públicos no dudes en comentar esta entrada):


Verificar IP pública
Muy útil para previamente asegurarnos qué línea vamos a comprobar.

Código:
curl -s checkip.dyndns.org | sed 's#.*Address: \(.*\)</b.*#\1#'
wget -qO - icanhazip.com
curl ifconfig.me
curl ident.me
dig +short myip.opendns.com @resolver1.opendns.com
lynx -dump ifconfig.me | grep 'IP Address'
curl ipecho.net/plain
curl bot.whatismyipaddress.com
curl ipinfo.io
curl ipogre.com

Servicios benchmarking:

Sitios dedicados o especializados en realizar tests de velocidad

Código:
wget dl.getipaddr.net/speedtest.sh -q -O- | bash 
curl -s dl.getipaddr.net/speedtest.sh -o- | bash
wget https://raw.github.com/blackdotsh/curl-speedtest/master/speedtest.sh && chmod u+x speedtest.sh && bash speedtest.sh
wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py && chmod +x speedtest-cli && ./speedtest-cli


Pruebas de descarga:

Ojo con enviar la descarga directamente a /dev/null si no queréis llenar rápidamente vuestro disco.


CacheFly (Canada):
Código:
wget -O /dev/null http://cachecefly.cachefly.net/100mb.test

SoftLayer (EE.UU. y Holanda):
Linode (EE.UU., Reino Unido y Japón):
Leaseweb (EE.UU. y Holanda):
FDCServer (EE.UU.):
OVH (Francia):
wget -O /dev/null http://proof.ovh.net/files/100Mb.dat


Pruebas de subida:
Con el parámetro -r o -d se intentará hacer el test de forma bidireccional. No obstante fallará si tu firewall no permite el NAT de entrada (que es lo normal). Por eso ponemos a iperf en categoría de pruebas de subida/upload.

Código:
iperf3 -c iperf.scottlinux.com -u
iperf3 -c iperf.volia.net -R -P 4
iperf -c iperf.volia.net -r -P 4
iperf -c s-network1.amcs.tld -P 1 -i 5 -p 5999 -f B -t 60 -T 1
iperf -c iperf.acd.net -P 10 -t 240
iperf -c ping.online.net -i 2 -t 20 -r
bwctl -T iperf3 -f m -t 10 -i 1 -c ps.ncar.xsede.org
iperf -c ping.online.net -i 5 -u -r
iperf -c ping-90ms.online.net -i 5 -u -r
iperf -c debit.k-net.fr -i 10 -T 100
iperf -c speedtest.serverius.net
iperf -c iperf.he.net

Fuentes:
- Measuring Download Speed from Linux Command Line
- How to Test Your Internet Speed from the Command Line
- How can I get my public IP address from the command line, if I am behind a router?
- Download Test Files
- How to use wget to test bandwidth / download speed ?
- curl speedtest - A nimble benchmark tool
- How can I test the bandwith using a Linux shell ?

- Handy iperf commands for quick network testing
- EsNet iperf and iperf3
- Public iPerf3 servers
- Hackplayers