GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Vérifiez la vitesse d'Internet avec speedtest-cli sur Debian et Ubuntu

La vitesse de la connexion Internet est quelque chose que nous vérifions toujours à la maison et au bureau. La méthode la plus courante que nous utilisons consiste à visiter un site Web de test de vitesse comme speedtest.net. Sur ce site, une application javascript est chargée dans le navigateur Web qui sélectionne le meilleur serveur (à proximité) en fonction du temps de ping, puis les résultats du test de vitesse pour ce serveur sont affichés. Speedtest.net utilise également un lecteur flash pour produire le résultat graphiquement.

Le problème de l'utilisation de ces tests de vitesse basés sur le Web est qu'ils ne vous permettent pas de programmer le test de vitesse à intervalles réguliers, par ex. en tant que tâche cron et vous ne pouvez pas les utiliser sur des serveurs sans tête. Une application qui peut résoudre ce problème est "speedtest-cli". Cette application vous permet de vérifier votre vitesse Internet à l'aide de la ligne de commande.

Qu'est-ce que speedtest-cli ?

Speedtest-cli est un script écrit dans le langage de programmation Python qui mesure la vitesse d'Internet de manière bidirectionnelle. Cette application vous permet de vérifier votre vitesse Internet sur la distance en km, elle peut tester par rapport à des serveurs spécifiques et elle fournit également une URL afin que vous puissiez partager votre résultat sur Internet.

Comment installer speedtest-cli sur Linux ?

Pour installer l'application speedtest-cli, vous devez avoir un Python 2.4-3.4 ou une version mise à jour installée sur votre système.

Vous pouvez installer les outils speedtest-cli de deux méthodes. La première méthode comprend l'utilisation du gestionnaire de packages python-pip, la deuxième méthode consiste à télécharger le script Python manuellement, à le rendre exécutable, puis à exécuter l'application.

Méthode 1 :Installation de speedtest-cli à l'aide de python-pip

L'étape suivante doit être exécutée en tant qu'utilisateur root, car je ne veux pas ajouter sudo pour chaque commande, veuillez d'abord exécuter la commande suivante sur Ubuntu pour devenir l'utilisateur root :

sudo su

1. La première étape consiste à s'assurer que votre liste de packages de tous les référentiels Ubuntu et PPA est à jour en exécutant la commande suivante :

apt-get update

Exemple de sortie :

2. L'étape suivante consiste à installer le gestionnaire de packages pip sur votre système. Comme vous pouvez le voir, la commande installera également de nombreuses dépendances.

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

Appuyez sur Y pour continuer   

Exemple de sortie :

3.  Après avoir installé le package, vous pouvez installer l'application à l'aide de cette commande 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 vous souhaitez mettre à niveau l'application speedtest-cli à l'avenir, vous pouvez utiliser cette commande :

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

Méthode 2 :Installation manuelle du dernier speedtest-cli depuis GitHub

1. Vous devez d'abord télécharger le script python depuis GitHub à l'aide de la commande

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. La deuxième étape consiste à décompresser le fichier que vous avez téléchargé (master.zip) et à l'extraire à l'aide de la commande unzip :

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. Lorsque vous avez extrait le fichier, rendez le script extrait exécutable en accédant au répertoire extrait et en utilisant la commande chown.

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

4. Pour éviter de taper le chemin complet à chaque fois, déplacez le fichier exécutable vers /usr/local/bin en utilisant la commande suivante :

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

Comment tester la vitesse de connexion internet avec speedtest-cli ?

Exécutez la commande speedtest-cli pour tester la vitesse de téléchargement et de chargement de votre connexion Internet sans aucun argument :

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

Si vous souhaitez vérifier le résultat de la vitesse en octets au lieu de bits, utilisez cette commande :

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

Si vous souhaitez partager le résultat rapide avec vos amis, vous pouvez télécharger l'image du résultat avec l'URL fournie après le résultat.

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

Ci-dessous, l'image de mon résultat de test de vitesse du test ci-dessus.

Si vous souhaitez des informations uniquement sur le ping, le téléchargement et le téléchargement, utilisez :

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

Vous pouvez également consulter la liste des serveurs en fonction de la distance en km en utilisant :

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]

En recherchant la liste en termes de distance, vous avez peut-être généré une grande liste de serveurs. Si vous souhaitez vérifier le résultat pour les serveurs d'une zone spécifique, vous pouvez le vérifier en redirigeant le résultat vers la commande grep (l'Australie est un exemple de la zone) :

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]

Pour tester la vitesse de connexion par rapport à un serveur spécifique, vous devez utiliser l'ID de serveur généré aux étapes 5 et 6.

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

Ici, l'ID de serveur 2604 est utilisé comme exemple :

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 vous souhaitez vérifier l'aide et le numéro de version de l'outil speedtest-cli, utilisez ces commandes :

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

Création d'un journal de vitesse Internet avec speedtest-cli

Speedtest-cli peut être exécuté en tant que tâche cron pour obtenir un journal de test de vitesse Internet. Ouvrez la crontab avec cette commande :

crontab -e

Et ajoutez cette ligne (je suppose que speedtest_cli.py est installé dans /usr/local/bin) à la crontab :

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

Enregistrez les modifications et quittez l'éditeur crontab. Cela exécutera un test de vitesse à 0h30 chaque jour et ajoutera le résultat au fichier /tmp/speedlog.txt.

Conclusion

Cette application est légère, facile à utiliser et s'exécute sans aucun problème, ce qui en fait un outil indispensable pour les développeurs et les administrateurs système.


Ubuntu
  1. Installer et démarrer avec MySQL Workbench sur Ubuntu

  2. Installer Node.js dans Ubuntu et Debian

  3. Comment installer Python 3.7 sur Ubuntu, Debian et LinuxMint

  4. Comment installer Mattermost avec MySQL sur Ubuntu 14.04 et Debian 8

  5. Installer et configurer Apache et PHP avec cgi sur Ubuntu ou Debian

Comment installer Zoom Ubuntu et les dérivés Debian

Installer et configurer Virtualmin sur le serveur Ubuntu 20.04 / Debian 10

Comment installer Jitsi Meet sur Debian et Ubuntu

Comment installer Drupal avec Apache sur Debian et Ubuntu

Comment installer ONLYOFFICE Docs sur Debian et Ubuntu

Comment installer Grafana sur Ubuntu 18.04 et Debian 8