Au lieu d'aller sur des sites tels que speedtest.net , je souhaite vérifier ma vitesse Internet actuelle à partir du terminal sous Ubuntu. Comment puis-je le faire?
Je recommande l'outil speedtest-cli pour cela. J'ai créé un article de blog ( = Mesurer la vitesse de connexion Internet à partir de la ligne de commande Linux ), qui décrit en détail le téléchargement, l'installation et l'utilisation.
La version courte est la suivante: (aucune racine requise)
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -
Sortie:
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Comcast Cable (x.x.x.x)...
Selecting best server based on ping...
Hosted by FiberCloud, Inc (Seattle, WA) [12.03 km]: 44.028 ms
Testing download speed........................................
Download: 32.29 Mbit/s
Testing upload speed..................................................
Upload: 5.18 Mbit/s
Utiliser pip install --user speedtest-cli
vous donne une version probablement plus récente que celle disponible dans les référentiels de votre distribution.
speedtest-cli
est maintenant dans les référentiels Ubuntu. Pour Ubuntu 16.04 (Xenial) et versions ultérieures:
Sudo apt install speedtest-cli
speedtest-cli
essayez ceci en ligne de commande
wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.Zip
essayez aussi
sourceforge.net/projects/tespeed/
obtenu par le lien ci-dessus
Si vous ne souhaitez pas installer iperf, vous pouvez faire précéder toute commande qui déplace une quantité connue de données avec la commande time
et effectuez une somme.
iperf est simple et facile à utiliser.
Cela nécessite un client et un serveur.
(sur le serveur)
user@server$ iperf -s
(sur le client)
user@client$ iperf -c server.domain
------------------------------------------------------------
Client connecting to 192.168.1.1, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.3 port 52143 connected with 192.168.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 113 MBytes 94.7 Mbits/sec
Eh bien, j'utilise wget
pour cela. Ce petit outil me dit joliment quelle est ma vitesse.
Pour l'utiliser, il suffit de pointer sur un fichier Internet relativement volumineux afin d'obtenir une meilleure estimation de celui-ci.
Par exemple
en tapant: wget http://hostve.com/neobuntu/pics/Ubu1.avi
commencerait à télécharger le fichier Ubu1.avi et montrerait à quelle vitesse il se télécharge.
Bien sûr, il y a plusieurs recommandations:
Testez-vous rapidement avec de bons serveurs. Dans le cas de ma liaison, la vitesse est inférieure à 200 Ko. Par conséquent, si vous avez une vitesse supérieure, le serveur sera le goulot d'étranglement pour vous, et non votre vitesse réelle.
La vitesse la plus élevée que vous verrez est la vitesse maximale que votre connexion et celle du serveur peuvent offrir. Si votre connexion est de 512 Ko et que vous téléchargez 400 Ko, le nombre maximal de connexions sera de 400 Ko, car il s'agit du maximum pour le serveur à partir duquel vous effectuez le téléchargement.
Vous devez faire le test au moins 5 fois pour avoir un contrôle de vitesse fiable ou au moins pendant une minute ou deux. Cela vous aidera à avoir un contrôle plus précis.
Vous devez avoir au moins 4 ou 5 sources de test différentes pour avoir une vitesse plus précise. Ne testez jamais uniquement à partir du même site, car cela peut être affecté par votre distance, par tout problème du serveur et de ses connexions, etc. Effectuez toujours des tests sur des serveurs différents.
ARIA2
C'est une alternative à wget
. L'inconvénient de wget
est le manque de connexions parallèles. Pour utiliser aria2, nous devons d'abord le télécharger:
Sudo apt-get install aria2
Pour l'utiliser c'est simple:
Dans l'image, le - x 4 correspond au nombre de connexions parallèles que nous souhaitons utiliser. Le paramètre CN de la ligne suivante indique le nombre de connexions parallèles actives pouvant être téléchargées à partir de ce site. Dans ce cas, CN est 4. Mais si nous essayions d'avoir plus de connexions, nous obtiendrions quelque chose comme ceci:
Nous avons défini 8 connexions parallèles mais le site ne permettait qu'un maximum de 5 comme indiqué par CN: 5. Cela pourrait être résolu par l'option -j qui indique à aria2c le nombre maximal de connexions simultanées que nous voulons (qui est 5 par défaut), mais si le serveur l'a limité, -j ne fonctionnera pas.
Puisque speedtest-cli est une application python, il est beaucoup plus facile de l'installer de la manière suivante:
pip install speedtest-cli
ou:
easy_install speedtest-cli
En fonction de la manière dont Python est installé sur votre système, vous devrez peut-être accéder à la racine pour effectuer les opérations ci-dessus.
J'aime le speedometer
Ubuntu cli.
speedometer -r eth0
Pour regarder un graphique en direct des vitesses de données entrantes.
Exécutez plusieurs instances de wget avec la commande timeout sur des fichiers volumineux:
#!/bin/bash
timeout 5 wget -q url_1/100MB.Zip &
timeout 5 wget -q url_2/file.Zip &
timeout 5 wget -q url_3/sample.mov &
timeout 5 wget -q url_4/speech.mp4 &
Ensuite, écrivez un script pour calculer le nombre total d'octets téléchargés et divisez-le en 5 secondes pour obtenir un chiffre en octets/s. Devrait être assez précis et vous pouvez ajouter plus d'instances pour maximiser votre bande passante.
Je n'ai pas encore testé le script complet, mais la commande à ligne unique "timeout 5 wget url" fonctionne et vous obtenez un fichier partiellement téléchargé en conséquence (si 5 secondes ne suffisent pas pour terminer le téléchargement).
vous pouvez utiliser tespeed
. il s’agit d’un test de vitesse du réseau de terminaux utilisant des serveurs de Speedtest.net
. Il utilise le serveur de test le plus proche, mais peut également en utiliser un spécifié manuellement par l'utilisateur.
git clone git://github.com/Janhouse/tespeed.git
cd tespeed
git submodule init
git submodule update
./tespeed.py
pour plus d'informations, utilisez:
./tespeed.py -h
il fournira plus d'option pour le test de vitesse.
Script bash simple basé sur la réponse @rexis. Vous pouvez mettre vos propres liens pour les tests dans le tableau links
ou les lire à partir d'un fichier.
#!/bin/bash
export LC_ALL=C #make output in English eg for later use with "du | grep"
TMP_PATH=/tmp/speedtest_data/
TEST_TIME=5
rm -rf $TMP_PATH && mkdir $TMP_PATH
links=("http://client.cdn.gamigo.com/bp/eu/com/110a/BPClientSetup-2b.bin" "http://client.cdn.gamigo.com/bp/eu/com/110a/BPClientSetup-1b.bin" "http://client.cdn.gamigo.com/bp/eu/com/110a/BPClientSetup-1c.bin" "http://ftp.ntua.gr/pub/linux/ubuntu-releases-dvd/quantal/release/ubuntu-12.10-server-armhf+omap.img" "http://ftp.funet.fi/pub/Linux/INSTALL/Ubuntu/dvd-releases/releases/12.10/release/ubuntu-12.10-server-armhf+omap.img" "http://ftp.icm.edu.pl/pub/Linux/opensuse/distribution/13.2/iso/openSUSE-13.2-DVD-x86_64.iso")
echo "Testing download"
for link in ${links[*]}
do
timeout $TEST_TIME wget -q -P $TMP_PATH $link &
done
wait
total_bytes=$(du -c -b $TMP_PATH | grep total | awk '{print $1}')
echo "Cleaning up"
rm -rf $TMP_PATH
speed=$(echo "scale=2; $total_bytes / $TEST_TIME / 128" |bc)
echo "Speed is $speed Mbit/s"
exit 0
Pour obtenir facilement ma vitesse de téléchargement en bits par seconde, je définis ce qui suit dans mon fichier $ HOME/.bash_aliases:
speed-test='wget --output-document=/dev/null --report-speed=bits http://speedtest.wdc01.softlayer.com/downloads/test500.Zip'
où:
--output-document=/dev/null
rejette efficacement la sortie wget
--report-speed=bits
affiche la moyenne de la vitesse de téléchargement wget en bits par seconde (bits/s) à la place des octets par seconde (bits/s) par défaut
un one-liner simple qui teste le temps nécessaire pour télécharger 100 Mo (fonctionne également sur /bin/sh
):
t=$(date +"%s"); wget http://speedtest.tele2.net/100MB.Zip -O ->/dev/null ; echo -n "MBit/s: "; expr 8 \* 100 / $(($(date +"%s")-$t))
explication:
8 * 100mb / $t
Vous pouvez également essayer http://dl.getipaddr.net
Ils utilisent curl (un utilitaire bien connu en ligne de commande) pour exécuter un test de vitesse.
En bref
wget https://raw.github.com/blackdotsh/curl-speedtest/master/speedtest.sh && chmod u + x speedtest.sh && bash speedtest.sh
Je voulais quelque chose de plus avancé que speedtest.net et diverses solutions qui reposent uniquement sur un seul site Web. J'ai donc fait ce que je fais normalement et écrit ma propre solution:
https://github.com/cubiclesoft/network-speedtest-cli
De la liste des fonctionnalités:
C'est une solution plus générique qui peut être consommée par d'autres applications. J'ai réussi à identifier un problème de réseau FAI avec lequel il a doublé ma vitesse en aval de SFTP, ce qui a augmenté le bonheur.