Comment vérifier la vitesse Internet via le terminal?

350

Au lieu d’accéder à des sites tels que speedtest.net , je souhaite vérifier ma vitesse Internet actuelle depuis le terminal sur Ubuntu. Comment puis-je le faire?

    
posée kernel_panic 16.02.2012 - 15:24
la source

11 réponses

544

Je recommande l’outil speedtest-cli pour cela. J'ai créé un article de blog ( Mesurer la vitesse de connexion Internet à partir de Linux Command Line ) 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

Mise à jour en 2016:

speedtest-cli est maintenant dans les dépôts Ubuntu. Pour Ubuntu 16.04 (Xenial) et utilisation ultérieure:

sudo apt install speedtest-cli
speedtest-cli
    
réponse donnée mweisel 19.03.2013 - 09:11
la source
78

essayez ceci sur la ligne de commande

wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip

essayez ceci aussi

sourceforge.net/projects/tespeed/

Je l'ai eu par le lien ci-dessus

    
réponse donnée Tachyons 16.02.2012 - 15:57
la source
45

Si vous ne parvenez 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 faire une somme.

iperf est simple et facile à utiliser.

Il 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

    
réponse donnée One Zero 16.02.2012 - 16:21
la source
31

Eh bien, j'utilise wget pour cela. Ce petit outil me dit bien quelle vitesse j'ai.

Pour l'utiliser, pointez simplement sur un fichier sur Internet relativement plus gros afin de pouvoir en obtenir une meilleure estimation.

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 est en cours de téléchargement.

Bien sûr, il existe plusieurs recommandations:

  1. Vitesse testez-vous avec de bons serveurs. Dans le cas de mon lien, la vitesse est inférieure à 200 Ko, donc si vous avez une vitesse supérieure, le serveur sera le goulot d'étranglement pour vous, pas votre vitesse réelle.

  2. La vitesse maximale que vous verrez est la vitesse maximale que votre connexion et la connexion du serveur peuvent offrir. Si votre connexion est de 512 Ko et que votre site de téléchargement est à 400 Ko, votre connexion maximale sera de 400 Ko car il s'agit du maximum pour le serveur à partir duquel vous téléchargez.

  3. Vous devez faire le test au moins 5 fois pour avoir un contrôle de vitesse fiable ou du moins le faire pendant une minute ou deux. Cela vous aidera à effectuer une vérification plus précise.

  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, tout problème sur le serveur et ses connexions, etc. Testez toujours depuis différents serveurs.

ARIA2

Ceci est une alternative à wget . L'inconvénient de wget est le manque de connexions parallèles. Pour utiliser aria2, il faut 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 autorisées à télécharger depuis ce site. Dans ce cas, CN est 4. Mais si nous essayions d'avoir plus de connexions, nous aurions quelque chose comme ça:

Nous établissons 8 connexions parallèles mais le site n'autorise qu'un maximum de 5, comme le montre CN: 5. Cela pourrait être résolu par l'option -j qui indique à aria2c le nombre maximal de connexions simultanées souhaitées (dont la valeur par défaut est 5), mais si le serveur l'a limité, -j ne fonctionnera pas.

    
réponse donnée Luis Alvarado 16.02.2012 - 16:12
la source
16

Comme speedtest-cli est une application python, son installation est beaucoup plus simple:

pip install speedtest-cli

ou:

easy_install speedtest-cli

Selon la manière dont Python est installé sur votre système, vous devrez peut-être être root pour effectuer les opérations ci-dessus.

    
réponse donnée BobC 02.12.2013 - 16:06
la source
5

J'aime le speedometer Ubuntu cli.

speedometer -r eth0

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

    
réponse donnée 6ft Dan 02.09.2016 - 23:22
la source
3

Exécutez plusieurs instances de wget avec la commande timeout sur les 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 5 secondes pour obtenir un nombre d'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 en ligne "timeout 5 wget url" fonctionne, et vous obtenez un fichier partiellement téléchargé (si 5 secondes ne suffisent pas pour terminer le téléchargement).

    
réponse donnée rexis 20.09.2013 - 04:29
la source
3

vous pouvez utiliser tespeed . c'est un test de vitesse du réseau Terminal Server qui utilise les 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

cela fournira plus d'option pour le test de vitesse.

    
réponse donnée pl_rock 12.09.2015 - 08:08
la source
2

Script bash simple basé sur la réponse de @rexis. Vous pouvez mettre vos propres liens pour tester le tableau links 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 $TMP_PATH | grep total | awk '{print }')

echo "Cleaning up"
rm -rf $TMP_PATH

speed=$(expr $total_bytes / $TEST_TIME)

echo "Speed is $speed Kb/s"

exit 0
    
réponse donnée Darkside 24.03.2015 - 13:28
la source
0

Vous pouvez également essayer lien

Ils utilisent curl (qui est un utilitaire de ligne de commande bien connu) pour exécuter un test de vitesse.

En bref

wget lien & amp; & amp; chmod u + x speedtest.sh & amp; & amp; bash speedtest.sh

    
réponse donnée user385795 07.03.2015 - 19:17
la source
0

un simple traceur qui teste combien de temps il faut 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:

  1. stocke l’horodatage dans $ t
  2. télécharger 100 Mo mais ne rien stocker
  3. calculer 8 * 100mb / $t
réponse donnée rubo77 29.08.2015 - 09:29
la source

Lire d'autres questions sur les étiquettes