Wie überprüfe ich die Internetgeschwindigkeit über das Terminal?

350

Anstatt auf Websites wie speedtest.net zu gehen, möchte ich meine aktuelle Internetgeschwindigkeit vom Terminal auf Ubuntu überprüfen. Wie kann ich es tun?

    
kernel_panic 16.02.2012, 15:24

11 Antworten

544

Ich empfehle dafür das Tool speedtest-cli . Ich habe einen Blogbeitrag erstellt ( Internetgeschwindigkeit messen von der Linux Command Line ), die Details des Herunterladens, Installierens und Verwendens von Linux enthält.

Die kurze Version ist dies: (keine root erforderlich)

curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -

Ausgabe:

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

Aktualisierung 2016:

speedtest-cli ist jetzt in Ubuntu-Repositories. Für Ubuntu 16.04 (Xenial) und später verwenden:

sudo apt install speedtest-cli
speedtest-cli
    
mweisel 19.03.2013, 09:11
78

versuch dies auf der Kommandozeile

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

Probier das auch aus

sourceforge.net/projects/tespeed/

habe es von oben Link

    
Tachyons 16.02.2012 15:57
45

Wenn Sie sich nicht die Mühe machen, iperf zu installieren, können Sie jedem Befehl vorausgehen, der eine bekannte Menge an Daten mit dem Befehl time verschiebt und eine Summe erstellt.

iperf ist einfach und einfach zu bedienen.

Es erfordert einen Client und einen Server.

(auf dem Server)

 [email protected]$ iperf -s

(auf dem Client)

 [email protected]$ 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

Weitere Details

    
One Zero 16.02.2012 16:21
31

Nun, ich benutze wget dafür. Das kleine Werkzeug sagt mir schön, wie schnell ich bin.

Um es zu verwenden, zeigen Sie einfach auf eine Datei im Internet, die relativ groß ist, damit Sie eine bessere Schätzung davon erhalten können.

Zum Beispiel

typing: wget http://hostve.com/neobuntu/pics/Ubu1.avi beginnt mit dem Herunterladen der Ubu1.avi-Datei und zeigt an, mit welcher Geschwindigkeit es heruntergeladen wird.

Natürlich gibt es mehrere Empfehlungen:

  1. Testen Sie sich mit guten Servern. Im Falle meiner Verbindung ist die Geschwindigkeit weniger als 200KB, wenn Sie eine höhere Geschwindigkeit haben, wird der Server der Flaschenhals für Sie sein, nicht Ihre tatsächliche Geschwindigkeit.

  2. Die höchste Geschwindigkeit, die Sie sehen können, ist die maximale Geschwindigkeit, die Ihre Verbindung und die Verbindung des Servers bieten können. Wenn Ihre Verbindung 512 KB ist und der Ort, an dem Sie herunterladen, 400 KB beträgt, beträgt Ihre maximale Verbindung 400 KB, da dies der maximale Wert für den Server ist, von dem Sie herunterladen.

  3. Sie müssen den Test mindestens fünfmal durchführen, um eine zuverlässige Geschwindigkeitsprüfung durchzuführen oder zumindest für ein oder zwei Minuten. Dies wird Ihnen helfen, eine genauere Überprüfung zu haben.

  4. Sie benötigen mindestens 4 oder 5 verschiedene Testquellen, um eine genauere Geschwindigkeit zu erhalten. Testen Sie niemals nur von derselben Seite aus, da dies durch Ihre Entfernung, jedes Problem im Server und die Verbindungen dazu etc. beeinträchtigt werden kann. Testen Sie immer von verschiedenen Servern.

ARIA2

Dies ist eine Alternative zu wget . Der Nachteil von wget ist der Mangel an parallelen Verbindungen. Um Aria2 zu benutzen, müssen wir es zuerst herunterladen:

   sudo apt-get install aria2

Die Verwendung ist einfach:

Im Bild ist -x 4 die Anzahl der parallelen Verbindungen, die wir verwenden möchten. Der CN-Parameter in der nächsten Zeile zeigt an, wie viele aktive parallele Verbindungen von dieser Site heruntergeladen werden dürfen. In diesem Fall ist CN 4. Wenn wir jedoch versuchen würden, mehr Verbindungen zu haben, würden wir so etwas bekommen:

Wir haben 8 parallele Verbindungen eingestellt, aber die Seite erlaubte maximal 5, wie CN: 5 zeigt. Dies könnte durch die -j -Option gelöst werden, die aria2c die maximale Anzahl gleichzeitiger Verbindungen mitteilt, die wir wollen (was standardmäßig 5 ist), aber wenn der Server dies begrenzt hat, funktioniert -j nicht.

    
Luis Alvarado 16.02.2012 16:12
16

Da speedtest-cli eine Python-Anwendung ist, ist die Installation viel einfacher:

pip install speedtest-cli

oder:

easy_install speedtest-cli

Je nachdem, wie Python auf Ihrem System installiert ist, müssen Sie möglicherweise root sein, um das oben genannte zu tun.

    
BobC 02.12.2013 16:06
5

Ich mag den speedometer Ubuntu cli.

speedometer -r eth0

Um ein Live-Diagramm der eingehenden Datengeschwindigkeiten zu sehen.

    
6ft Dan 02.09.2016 23:22
3

Führen Sie mehrere Instanzen von wget mit Timeout-Befehl für große Dateien aus:

#!/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 &

Schreiben Sie dann ein Skript, um die Gesamtzahl der heruntergeladenen Bytes zu berechnen, und teilen Sie 5 Sekunden, um eine Byte / s-Zahl zu erhalten. Sollte ziemlich genau sein und Sie können mehr Instanzen hinzufügen, um Ihre Bandbreite zu maximieren.

Ich habe noch das vollständige Skript getestet, aber der einzeilige Befehl "timeout 5 wget url" funktioniert, und Sie erhalten eine teilweise heruntergeladene Datei als Ergebnis (wenn 5 Sekunden nicht ausreichen, um den Download abzuschließen).

    
rexis 20.09.2013 04:29
3

Sie können tespeed verwenden. Es ist ein Terminal-Netzwerkgeschwindigkeitstest, der Server von Speedtest.net verwendet. Es verwendet den nächsten Testserver, kann aber auch einen manuell vom Benutzer angegebenen verwenden.

 git clone git://github.com/Janhouse/tespeed.git
 cd tespeed
 git submodule init
 git submodule update
 ./tespeed.py 

für weitere Informationen verwenden:

 ./tespeed.py  -h

es wird mehr Option für Geschwindigkeitstest bieten.

    
pl_rock 12.09.2015 08:08
2

Einfaches Bash-Skript basierend auf @rexis-Antwort. Sie können Ihre eigenen Links zum Testen in links array setzen oder sie aus der Datei

lesen
#!/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
    
Darkside 24.03.2015 13:28
0

Sie können auch Pfandrecht

ausprobieren

Sie verwenden curl (ein bekanntes Kommandozeilenprogramm), um einen Geschwindigkeitstest auszuführen.

Kurz gesagt

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

    
user385795 07.03.2015 19:17
0

ein einfacher Einzeiler, der testet, wie lange es dauert, 100 MB herunterzuladen (funktioniert auch auf /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))

Erklärung:

  1. speichert den Zeitstempel in $ t
  2. download 100mb aber nicht speichern
  3. berechnen 8 * 100mb / $t
rubo77 29.08.2015 09:29