GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Compruebe la velocidad de Internet con speedtest-cli en Debian y Ubuntu

La velocidad de la conexión a Internet es algo que siempre comprobamos en nuestros hogares y oficinas. El método más común que usamos es visitar un sitio web de prueba de velocidad como speedtest.net. En ese sitio, se carga una aplicación javascript en el navegador web que selecciona el mejor servidor (cercano) en función del tiempo de ping y luego se muestran los resultados de la prueba de velocidad para ese servidor. Speedtest.net también usa un reproductor flash para producir el resultado gráficamente.

El problema al utilizar estas pruebas de velocidad basadas en la web es que no le permite programar la prueba de velocidad a intervalos regulares, p. como un cronjob y no puede usarlos en servidores sin cabeza. Una aplicación que puede solucionar este problema es “speedtest-cli”. Esta aplicación le permite verificar su velocidad de Internet usando la línea de comando.

¿Qué es speedtest-cli?

Speedtest-cli es un script escrito en el lenguaje de programación Python que mide la velocidad de Internet de forma bidireccional. Esta aplicación le permite verificar su velocidad de Internet según la distancia en km, puede probar contra servidores específicos y también proporciona una URL para que pueda compartir su resultado en Internet.

¿Cómo instalar speedtest-cli en Linux?

Para instalar la aplicación speedtest-cli, debe tener Python 2.4-3.4 o una versión actualizada instalada en su sistema.

Puede instalar las herramientas speedtest-cli utilizando dos métodos. El primer método incluye el uso del administrador de paquetes python-pip, el segundo método es descargar el script de Python manualmente, hacerlo ejecutable y luego ejecutar la aplicación.

Método 1:Instalar speedtest-cli usando python-pip

El siguiente paso debe ejecutarse como usuario root, ya que no quiero anteponer sudo para cada comando, primero ejecute el siguiente comando en Ubuntu para convertirse en usuario root:

sudo su

1. El primer paso es asegurarse de que su lista de paquetes de todos los repositorios de Ubuntu y PPA esté actualizada ejecutando el siguiente comando:

apt-get update

Salida de muestra:

2. El siguiente paso es instalar el administrador de paquetes pip en su sistema. Como puede ver, el comando también instalará muchas dependencias.

apt-get install python-pip
[email protected]:/# apt-get install python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libexpat1-dev libpython-all-dev libpython-dev libpython2.7-dev python-all python-all-dev python-asn1crypto python-cffi-backend python-crypto python-cryptography python-dbus python-dev
python-enum34 python-gi python-idna python-ipaddress python-keyring python-keyrings.alt python-pip-whl python-pkg-resources python-secretstorage python-setuptools python-six
python-wheel python-xdg python2.7-dev
Suggested packages:
python-crypto-doc python-cryptography-doc python-cryptography-vectors python-dbus-dbg python-dbus-doc python-enum34-doc python-gi-cairo gnome-keyring libkf5wallet-bin
gir1.2-gnomekeyring-1.0 python-fs python-gdata python-keyczar python-secretstorage-doc python-setuptools-doc
The following NEW packages will be installed:
libexpat1-dev libpython-all-dev libpython-dev libpython2.7-dev python-all python-all-dev python-asn1crypto python-cffi-backend python-crypto python-cryptography python-dbus python-dev
python-enum34 python-gi python-idna python-ipaddress python-keyring python-keyrings.alt python-pip python-pip-whl python-pkg-resources python-secretstorage python-setuptools python-six
python-wheel python-xdg python2.7-dev
0 upgraded, 27 newly installed, 0 to remove and 60 not upgraded.
Need to get 32.1 MB of archives.
After this operation, 53.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Presiona Y para continuar   

Salida de muestra:

3.  Después de instalar el paquete, puede instalar la aplicación usando este comando pip:

pip install speedtest-cli
Collecting speedtest-cli
Downloading https://files.pythonhosted.org/packages/61/8b/58d1de9a7fff3e91c5ab956ab4ba72b49f42d9f73d5f3e248c740dfcc816/speedtest_cli-2.1.1-py2.py3-none-any.whl
Installing collected packages: speedtest-cli
Successfully installed speedtest-cli-2.1.1

4. Si desea actualizar la aplicación speedtest-cli en el futuro, puede usar este comando:

pip install speedtest-cli –-upgrade
Requirement already up-to-date: speedtest-cli in /usr/local/lib/python2.7/dist-packages
Cleaning up...

Método 2:instalar manualmente el último speedtest-cli desde GitHub

1. Primero debe descargar el script de python de GitHub usando el comando

cd /tmp
wget https://github.com/sivel/speedtest-cli/archive/master.zip
--2019-04-25 19:24:47-- https://github.com/sivel/speedtest-cli/archive/master.zip
Resolving github.com (github.com)... 140.82.118.4, 140.82.118.3
Connecting to github.com (github.com)|140.82.118.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/sivel/speedtest-cli/zip/master [following]
--2019-04-25 19:24:47-- https://codeload.github.com/sivel/speedtest-cli/zip/master
Resolving codeload.github.com (codeload.github.com)... 192.30.253.121, 192.30.253.120
Connecting to codeload.github.com (codeload.github.com)|192.30.253.121|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: ‘master.zip’

master.zip [ <=> ] 27.55K 103KB/s in 0.3s

2019-04-25 19:24:48 (103 KB/s) - ‘master.zip’ saved [28215]

2. El segundo paso es descomprimir el archivo que ha descargado (master.zip) y extraerlo usando el comando descomprimir:

unzip master.zip
Archive: master.zip
681cdf20a5fe774ba3aefedd0cd88cbff5384439
creating: speedtest-cli-master/
inflating: speedtest-cli-master/.gitignore
inflating: speedtest-cli-master/.travis.yml
inflating: speedtest-cli-master/CONTRIBUTING.md
inflating: speedtest-cli-master/LICENSE
inflating: speedtest-cli-master/MANIFEST.in
inflating: speedtest-cli-master/README.rst
extracting: speedtest-cli-master/setup.cfg
inflating: speedtest-cli-master/setup.py
inflating: speedtest-cli-master/speedtest-cli.1
inflating: speedtest-cli-master/speedtest.py
creating: speedtest-cli-master/tests/
creating: speedtest-cli-master/tests/scripts/
inflating: speedtest-cli-master/tests/scripts/source.py
inflating: speedtest-cli-master/tox.ini

3. Cuando haya extraído el archivo, haga que el script extraído sea ejecutable yendo al directorio extraído y usando el comando chown.

cd speedtest-cli-master/
chmod 755 speedtest.py

4. Para evitar escribir la ruta completa cada vez, mueva el archivo ejecutable a /usr/local/bin usando el siguiente comando:

sudo mv speedtest.py /usr/local/bin/speedtest-cli

¿Cómo probar la velocidad de conexión a Internet con speedtest-cli?

Ejecute el comando speedtest-cli para probar la velocidad de carga y descarga de su conexión a Internet sin ningún argumento:

speedtest-cli
Testing download speed........................................
Download: 916.39 Mbit/s
Testing upload speed..................................................
Upload: 489.57 Mbit/s

Si desea verificar el resultado de la velocidad en bytes en lugar de bits, use este comando:

speedtest-cli --bytes
Testing download speed........................................
Download: 114.15 Mbyte/s
Testing upload speed..................................................
Upload: 49.61 Mbyte/s

Si desea compartir el resultado de la velocidad con sus amigos, puede descargar la imagen del resultado con la URL proporcionada después del resultado.

speedtest-cli --share
Retrieving speedtest.net configuration...
Testing from Hetzner Online GmbH (..........)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by avrx (Limburg an der Lahn) [140.88 km]: 14.379 ms
Testing download speed................................................................................
Download: 309.68 Mbit/s
Testing upload speed................................................................................................
Upload: 316.33 Mbit/s
Share results: http://www.speedtest.net/result/xxxxxxxxxxx.png

A continuación se muestra la imagen del resultado de mi prueba de velocidad de la prueba anterior.

Si solo desea información sobre ping, descarga y carga, utilice:

speedtest-cli --simple
Ping: 5.23 ms
Download: 877.56 Mbit/s
Upload: 162.21 Mbit/s

También puede consultar la lista de servidores en función de la distancia en km utilizando:

speedtest-cli --list
2628) Telstra (Adelaide, Australia) [17098.98 km]
4051) Vodafone Hutchison Australia (AE) (Adelaide, Australia) [17098.98 km]
...........................................................................
3254) Vodafone Hutchison Australia (PH) (Perth, Australia) [18700.26 km]
1931) IX Australia (Perth, Australia) [18700.26 km]

Al buscar en la lista en términos de distancia, es posible que haya generado una gran lista de servidores. Si desea verificar el resultado de los servidores de un área específica, puede verificarlo canalizando el resultado al comando grep (Australia es un ejemplo del área):

speedtest-cli --list | grep –i Australia
2604) Telstra (Brisbane, Australia) [15501.92 km]
1594) 'Yes' Optus (Brisbane, Australia) [15501.92 km]
...............................................................................................
3254) Vodafone Hutchison Australia (PH) (Perth, Australia) [18700.26 km]
1931) IX Australia (Perth, Australia) [18700.26 km]

Para probar la velocidad de conexión contra un servidor específico, debe usar la ID del servidor generada en los pasos 5 y 6.

speedtest-cli --server [server ID]
speedtest-cli --server 2604

Aquí se utiliza el ID de servidor 2604 como ejemplo:

Hosted by Telstra (Brisbane) [15501.92 km]: 452.614 ms
Testing download speed........................................
Download: 28.79 Mbit/s
Testing upload speed..................................................
Upload: 11.71 Mbit/s

Si desea verificar la ayuda y el número de versión de la herramienta speedtest-cli, use estos comandos:

speedtest-cli --version
0.3.4
speedtest-cli --help
usage: speedtest_cli [-h] [--bytes] [--share] [--simple] [--list]
[--server SERVER] [--mini MINI] [--source SOURCE]
[--timeout TIMEOUT] [--secure] [--version]
Command line interface for testing internet bandwidth using speedtest.net.
--------------------------------------------------------------------------
https://github.com/sivel/speedtest-cli
optional arguments:
-h, --help show this help message and exit
--bytes Display values in bytes instead of bits. Does not affect
the image generated by --share
--share Generate and provide a URL to the speedtest.net share
results image
--simple Suppress verbose output, only show basic information
--list Display a list of speedtest.net servers sorted by
distance
--server SERVER Specify a server ID to test against
--mini MINI URL of the Speedtest Mini server
--source SOURCE Source IP address to bind to
--timeout TIMEOUT HTTP timeout in seconds. Default 10
--secure Use HTTPS instead of HTTP when communicating with
speedtest.net operated servers
--version Show the version number and exit

Creando un registro de velocidad de Internet con speedtest-cli

Speedtest-cli se puede ejecutar como un cronjob para obtener un registro de prueba de velocidad de Internet. Abra crontab con este comando:

crontab -e

Y agregue esta línea (asumo que speedtest_cli.py está instalado en /usr/local/bin) al crontab:

30 00 * * *  /usr/local/bin/speedtest-cli >> /tmp/speedlog.txt

Guarde los cambios y salga del editor crontab. Esto ejecutará una prueba de velocidad a las 0:30 cada día y agregará el resultado al archivo /tmp/speedlog.txt.

Conclusión

Esta aplicación es liviana, fácil de usar y se ejecuta sin ningún problema, lo que la convierte en una herramienta imprescindible para desarrolladores y administradores de sistemas.


Ubuntu
  1. Instalar y comenzar con MySQL Workbench en Ubuntu

  2. Instalar Node.js en Ubuntu y Debian

  3. Cómo instalar Python 3.7 en Ubuntu, Debian y LinuxMint

  4. Cómo instalar Mattermost con MySQL en Ubuntu 14.04 y Debian 8

  5. Instalar y configurar Apache y PHP con cgi en Ubuntu o Debian

Cómo instalar los derivados de Zoom Ubuntu y Debian

Instalar y configurar Virtualmin en el servidor Ubuntu 20.04 / Debian 10

Cómo instalar Jitsi Meet en Debian y Ubuntu

Cómo instalar Drupal con Apache en Debian y Ubuntu

Cómo instalar ONLYOFFICE Docs en Debian y Ubuntu

Cómo instalar Grafana en Ubuntu 18.04 y Debian 8