Comment vérifier la vitesse d'Internet via un terminal?


471

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?


4
Les résultats que j'obtiens avec speedtest-cli sont largement inférieurs à ce que j'obtiens de speedtest.net speedtest-cli Télécharger 18.27 Mbits / s Télécharger 3.43 Mbits / s speedtest.net Télécharger 59.38 Mbits / s Télécharger 12.14 Mbits / s Je ne peux pas considérez speedtest-cli comme un test valide de la vitesse du réseau.

2
@ user375058: Le speedtest-cliutilise les mêmes serveurs (etc.) que SpeedTest.net. Vous devriez considérer le speedtest-cliet www.speedtest.netpour être équivalent, juste avec un frontal différent. Je serais surpris si vous obtenez systématiquement des résultats sensiblement différents si les deux utilisent le même serveur. S'ils n'utilisent pas le même serveur, vous n'avez aucune base de comparaison. Enfin, mes résultats pour les deux utilitaires varient d'un facteur 2 à 4 entre les exécutions. Je vous suggère de tester 2 à 4 serveurs et d'effectuer 3 à 4 exécutions pour chaque serveur et de comparer les outils.
Jvriesem

@ user375058: En fait, j'ai juste fait ce que j'avais suggéré. Voir le lien dans mon commentaire ci-dessous pour mes résultats.
jvriesem

1
sudo apt installer speedtest-cli
ColdCold

Réponses:


757

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 son téléchargement, son installation et son 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

Mise à jour en 2018:

Utiliser pip install --user speedtest-clivous procure une version probablement plus récente que celle disponible dans les référentiels de votre distribution.

Mise à jour en 2016:

speedtest-cliest dans les dépôts Ubuntu maintenant. Pour Ubuntu 16.04 (Xenial) et versions ultérieures:

sudo apt install speedtest-cli
speedtest-cli

2
Cela ne semble pas fonctionner correctement. J'ai BT infinity 50bBit bas et 20Mbit. Mais les résultats apparaissent comme 0,53 Mbits et 0,2 Mbits. Hein? Placement décimal incorrect? en utilisant wget je reçois 4.27M / s (34Mbit) (un autre serveur cependant)?
Piotr Kula

34
Comme il a déjà été indiqué ici : Speedtest-cli étant une application Python, il est beaucoup plus facile à installer en effectuant les opérations suivantes: 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 vous installer en tant que root pour effectuer les opérations ci-dessus.
CrandellWS

1
Confirmer que speedtest-cli est cassé . Ne montre pas les vitesses supérieures à 1Mbps. Ne transfère aucune information en prétendant le faire.
Int_ua

5
Cela devrait vraiment être la réponse acceptée ... speedtest-cli fonctionne bien pour moi; pense que @int_ua avait soit des problèmes de compatibilité, soit des problèmes d’Internet.
peelman

2
Cela devrait être la bonne réponse. Un test de vitesse signifie téléchargement ET téléchargement. Première réponse SEULEMENT mesure la vitesse de téléchargement, ce qui n’est PAS une image complète de votre vitesse de connexion Internet. Surtout si vous hébergez quelque chose sur cette machine!
Emil Borconi

91

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


2
Pourriez-vous s'il vous plait expliquer ce que /dev/nullsignifie?
noisette à propos de natty

12
C’est un fichier spécial qui contient simplement les données de suppression écrites,
Tachyons

2
Pour moi sur Ubuntu 14.10 avec Python 2.7.8, la commande wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zipfonctionne beaucoup mieux que d’utiliser speedtset-clile dernier semble figer et ^ C ne parvient pas à interrompre la commande. Avec wget, je n'ai aucun problème à couper le téléchargement avec ^ C
Willoczy

1
@mlissner, ressemble à la première vitesse en mégabits, deuxième en mégaoctets ..
vp_arth

1
@ mlissner 1,5 x 8 = 12. l'un est en kbps et l'autre en kbps :-)
Tachyons

56

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 timecommande 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

Plus de détails


7
+1 iperf est fantastique pour valider les vitesses Ethernet et WIFI
kfmfe04

1
iperfest idéal pour le réseau local, mais l’utilisateur pose des questions sur le réseau étendu.
IMTheNachoMan

Ceux d’entre vous qui n’ont pas de serveur distant auquel vous pouvez vous connecter, il existe des serveurs iperf accessibles au public: iperf.cc
Dominykas Mostauskis Il y a

34

Bien je l'utilise wgetpour ça. 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.avicommencerait à télécharger le fichier Ubu1.avi et montrerait à quelle vitesse il se télécharge.

entrez la description de l'image ici

Bien sûr, il y a plusieurs recommandations:

  1. 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.

  2. 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 nombre maximal de serveurs que vous téléchargez.

  3. 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.

  4. 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. Testez toujours à partir de serveurs différents.

ARIA2

Ceci est une alternative à wget. L'inconvénient wgetest 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:

entrez la description de l'image ici

Dans l'image, le -x 4 représente le 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:

entrez la description de l'image ici

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 souhaitées (qui est 5 par défaut), mais si le serveur l'a limité, -j ne fonctionnera pas.


1
wget n'est pas (encore) capable de faire un téléchargement segmenté, c'est-à-dire de télécharger un seul fichier en utilisant plusieurs connexions (parallèles). Ainsi, si votre FAI limite la vitesse par connexion, vous n'obtiendrez pas des résultats précis ... serait un test plus précis pour utiliser un autre outil, qui peut au moins utiliser le téléchargement segmenté (comme aria2)
Mladen B.

3
Ce n'est pas un test de vitesse, c'est un test de vitesse de TÉLÉCHARGEMENT seulement! Un test de vitesse sur Internet signifie une charge croissante! Deuxième réponse, et tous les autres mentionnant speedtest-cli ont la bonne approche.
Emil Borconi

1
@EmilBorconi Vous avez raison, mais dans la réalité, nous n'effectuons pas d'analyse comparative des vitesses Internet, ce ne sont que les tests de vitesse actuels moyens de tout utilisateur à domicile sans avoir besoin de sites tels que speedtest. Une vitesse de téléchargement (ce qui est suffisant pour quiconque tente de voir s’ils rencontrent un goulot d’étranglement) est un test suffisant. Un test de vitesse bas / haut complet vérifierait quelle est l'ampleur de votre vitesse en fonction de votre FAI. Alors oui, ce serait la meilleure solution, mais pour tout scénario de test rapide, même un simple wget ferait l'affaire, car normalement, la vitesse de téléchargement inquiète davantage le téléchargement que le téléchargement.
Luis Alvarado

1
@ Luis Alvarado désolé si j'avais l'air impoli, je pense simplement que les gens devraient être en mesure de bien comprendre ce qu'ils demandent / et quelle est la réponse acceptée. Beaucoup de débutants vont regarder les forums et ils vont assumer / choisir / arrêter la réponse acceptée, et ils forment une fausse image dans leur réponse. Et oui, le téléchargement est plus important que le téléchargement, sauf si vous êtes un maniaque de Facebook qui publie des selfies toutes les 5 minutes, puis engagez une bagarre avec votre FAI simplement parce que vous avez testé le téléchargement, ce qui est bien, mais vous avez un téléchargement de merde ... Encore une fois désolé si mon ton était grossier, je ne voulais pas insulter ...
Emil Borconi

1
J'aime wgetmieux que curlpour cela parce que les wgetaffichages MB/s(très clair que c'est MBytes / s), alors curlque les affichages simplement k(pas très évident que ce soit KBytes / s).
Wisbucky le

19

Speedtest-cli étant une application python, son installation est beaucoup plus simple:

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.


7

J'aime la speedometercli Ubuntu.

speedometer -r eth0

Pour regarder un graphique en direct des vitesses de données entrantes.


C'est ce que je cherchais depuis longtemps! Merci! mais je n'aime pas le fait qu'il montre des vitesses en Kib et non en Kb ni en KB
redbeam_

3

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).


Cela nécessiterait l'installation d'un serveur ...
Braiam

url_1,2,3,4 peut être n'importe quoi, tel que des serveurs publics.
rexis

par exemple, timeout 5 wget http://speedtest.netcologne.de/test_100mb.bin -O /tmp/temp5secpuis analyser la taille du fichier et diviser par 5: expr $(stat --printf="%s" /tmp/temp5sec) / 5 / 1024en kbit / s
rubo77

3

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 

entrez la description de l'image ici

Pour plus d'informations, utilisez:

 ./tespeed.py  -h

il fournira plus d'option pour le test de vitesse


Remarque: nécessitelxml
Matt

2

un one-liner simple qui teste le temps nécessaire au téléchargement de 100 Mo (fonctionne /bin/shégalement):

t=$(date +"%s"); wget http://speedtest.tele2.net/100MB.zip -O ->/dev/null ; echo -n "MBit/s: "; expr 8 \* 100 / $(($(date +"%s")-$t))

explication:

  1. stocker l'horodatage dans $ t
  2. télécharger 100 Mo mais ne rien stocker
  3. calculer 8 * 100mb / $t

Cela fonctionnait très bien puisque je testais à partir d'un rootFS en lecture seule sans état et wgetne produisait pas la vitesse.
Josh Habdas

2

Script bash simple basé sur la réponse @rexis. Vous pouvez mettre vos propres liens pour tester dans linksarray ou les lire depuis 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

one minus - qu'en est-il lorsque j'utilise une autre langue que l'anglais? voir: grep :) partie
ceph3us

1

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 élimine efficacement la sortie wget

--report-speed=bits affiche la vitesse moyenne de téléchargement wget en bits par seconde (bps) à la place des octets par seconde (bps) par défaut



0

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:

  • Tests de vitesse SSH / SFTP (port 22).
  • Ports TCP communs 80, 443 et 8080, ainsi que test de vitesse de port TCP aléatoire à l'aide d'un serveur TCP / IP personnalisé prenant en charge des vitesses allant jusqu'à 2,2 Gbps et 780 Mbps.
  • Test de latence réseau assez basique.
  • Spin up Digital Ocean gouttelettes et test de vitesse SSH / SFTP et divers ports TCP.
  • Speedtest.net et tests de vitesse personnalisés sur OoklaServer. Produit des résultats similaires à ceux des tests de connexion unique sur single.speedtest.net.
  • Sortie JSON pure en mode silencieux (-s).

C'est une solution plus générique qui peut être utilisée par d'autres applications. J'ai réussi à identifier un problème de réseau FAI avec lequel il avait doublé ma vitesse en aval de SFTP, ce qui avait pour effet d'accroître le bonheur.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.