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


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


357
2018-02-16 14:24


Ursprung


Die Ergebnisse, die ich mit speedtest-cli erhalte, sind weit unter dem, was ich von speedtest.net speedtest-cli bekomme Download 18.27 Mbit / s Upload 3.43 Mbit / s speedtest.net Download 59.38 Mbit / s Upload 12.14 Mbit / s Ich kann nicht Betrachten Sie speedtest-cli als einen Test für die Netzwerkgeschwindigkeit.
@ user375058: Die speedtest-cli verwendet dieselben Server (usw.) wie SpeedTest.net. Sie sollten über die speedtest-cli und www.speedtest.net gleichwertig sein, nur mit einem anderen Front-End. Ich wäre überrascht, wenn du es bekommst bedeutend unterschiedliche Ergebnisse konsistent, wenn beide den gleichen Server verwenden. Wenn sie nicht den gleichen Server verwenden, haben Sie keine Vergleichsbasis. Schließlich variieren meine Ergebnisse für beide Dienstprogramme um einen Faktor von 2-4 von Lauf zu Lauf. Ich schlage vor, dass Sie 2-4 Server testen und 3-4 Läufe für jeden Server durchführen und Tools vergleichen. - jvriesem
@ user375058: Ich habe gerade getan, was ich vorgeschlagen habe. Siehe den Link in meinem Kommentar unten für meine Ergebnisse. - jvriesem
sudo apt installiert speedtest-cli - ColdCold


Antworten:


Ich empfehle die Speedtest-CLI Werkzeug dafür. Ich habe einen Blogeintrag erstellt (Messen Sie die Internetverbindungsgeschwindigkeit von der Linux-Befehlszeile), die ins Detail des Herunterladens, Installierens und Verwendens von es geht.

Die kurze Version ist das: (keine Wurzel 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 im Jahr 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

563
2018-03-19 08:11



Dies scheint nicht richtig zu funktionieren. Ich habe BT unendlich 50bBit runter und 20Mbit hoch. Aber die Ergebnisse zeigen sich als 0.53Mbit runter und 0.2Mbit hoch. Hä? Falsche Dezimalstelle? mit wget bekomme ich 4.27M / s (34Mbit) (einige andere Server obwohl)? - ppumkin
Wie es schon gesagt wurde Hier: Da speedtest-cli eine Python-Anwendung ist, ist es viel einfacher zu installieren: 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. - CrandellWS
Das bestätigend speedtest-cli ist kaputt. Zeigt keine Geschwindigkeiten über 1 Mbps an. Überträgt keine Informationen, wenn Sie dies behaupten. - int_ua
Dies sollte wirklich die akzeptierte Antwort sein ... speedtest-cli funktioniert gut für mich; Think @int_ua hatte entweder Kompatibilitätsprobleme oder Internetprobleme. - peelman
Dies sollte die richtige Antwort sein. Speed ​​Test bedeutet Download und Upload. Die erste Antwort misst NUR die Download-Geschwindigkeit, die NICHT ein vollständiges Bild Ihrer Internetverbindung ist. Vor allem, wenn Sie etwas auf dieser Maschine hosten! - Emil Borconi


Probieren Sie dies in der Befehlszeile aus

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

versuch es auch

sourceforge.net/projects/tespeed/

hab es von oben verlinkt


78
2018-02-16 14:57



Könnten Sie bitte erklären, was? /dev/null steht für? - nutty about natty
Es ist eine spezielle Datei, die einfach die gelöschten Daten schreibt, - Tachyons
Für mich auf Ubuntu 14.10 mit Python 2.7.8 der Befehl wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip funktioniert viel besser als die Verwendung speedtset-cli das spätere scheint einzufrieren und ^ C unterbricht den Befehl nicht. Mit wget habe ich keine Probleme den Download-Shrot mit ^ C zu schneiden - Willoczy
@mlissner, sieht aus wie erste Geschwindigkeit in Megabit, Sekunde in Megabyte. - vp_arth
@mlissner 1,5 x 8 = 12. einer ist kbps und anderer ist KBps :-) - Tachyons


Wenn Sie Iperf nicht installieren können, können Sie jedem Befehl, der eine bekannte Menge an Daten verschiebt, vorausgehen time befehle und mache eine Summe.

iperf ist einfach und benutzerfreundlich.

Es erfordert einen Client und einen Server.

(auf dem Server)

 user@server$ iperf -s

(auf dem 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

Mehr Details


46
2018-02-16 15:21



+1 iperf ist fantastisch für die Validierung von Ethernet- und WIFI-Geschwindigkeiten - kfmfe04
iperf ist großartig für LAN, aber der Benutzer fragt nach WAN. - IMTheNachoMan


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

Um es zu verwenden, zeigen Sie einfach auf eine Datei im Internet, die relativ größer ist, so dass Sie eine bessere Schätzung erhalten können.

Beispielsweise

tippen: wget http://hostve.com/neobuntu/pics/Ubu1.avi würde beginnen, die Ubu1.avi-Datei herunterzuladen und anzuzeigen, mit welcher Geschwindigkeit es heruntergeladen wird.

enter image description here

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 also eine höhere Geschwindigkeit haben, ist der Server der Flaschenhals für Sie, 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 und der Ort, an dem Sie herunterladen, 400 KB beträgt, beträgt Ihre maximale Verbindung 400 KB, da es sich um den maximalen Wert für den Server handelt, von dem Sie herunterladen.

  3. Sie müssen den Test mindestens 5 Mal durchführen, um eine zuverlässige Geschwindigkeitsprüfung zu erhalten oder zumindest für eine 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, da dies durch Ihre Entfernung, Probleme im Server und die Verbindungen dazu usw. 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

Es zu benutzen ist einfach:

enter image description here

In dem Bild, das -x 4 Wie viele parallele Verbindungen möchten wir verwenden? 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 etwas wie folgt erhalten:

enter image description here

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


31
2018-02-16 15:12



wget ist (noch) nicht in der Lage, einen segmentierten Download durchzuführen, dh eine einzelne Datei über mehrere (parallele) Verbindungen herunterzuladen. Wenn also Ihr ISP die Geschwindigkeit pro 1 Verbindung begrenzt, erhalten Sie keine genauen Ergebnisse ... es wäre ein genauerer Test, um ein anderes Tool zu verwenden, das zumindest einen segmentierten Download verwenden kann (wie aria2) - Mladen B.
@MladenB. Vielen Dank. Hinzugefügt Aria2 zu ihm. - Luis Alvarado♦
Dies ist kein Speedtest, dies ist nur ein DOWNLOAD Speed ​​Test! Internet Speed ​​Test bedeutet down & up load! Zweite Antwort, und alle anderen, die speedtest-cli erwähnen, haben den richtigen Ansatz. - Emil Borconi
@EmilBorconi Sie sind korrekt, aber im wirklichen Leben, wir Benchmarks nicht Internet-Geschwindigkeiten hier tun, dies sind nur Ihre durchschnittliche aktuelle Geschwindigkeit Tests von jedem Heimanwender ohne die Notwendigkeit für Websites wie Speedtest. Eine Download-Geschwindigkeit (die für jeden ausreicht, der versucht zu sehen, ob sie einen Engpass haben) ist ein Test, der gut genug ist. Ein vollständiger Down / Up-Geschwindigkeitstest würde prüfen, welcher volle Umfang Ihrer Geschwindigkeit auf Ihrem ISP basiert. Also ja, das wäre die beste Lösung, aber für ein schnelles Testszenario würde sogar ein einfaches wget ausreichen, da sich die Leute normalerweise mehr Gedanken über die Download-Geschwindigkeit machen als über den Upload. - Luis Alvarado♦
@LuisAlvarado Tut mir leid, wenn ich unhöflich geklungen habe, ich denke nur, dass die Leute in der Lage sein sollten zu verstehen, was sie fragen und was die akzeptierte Antwort ist. Viele Neulinge werden sich die Foren ansehen und sie werden die angenommene Antwort annehmen / annehmen / stoppen, und sie bilden ein falsches Bild in ihrem Had. Und ja, der Download ist wichtiger, als wenn du ein Facebook-Wahnsinniger bist, der Selfies alle 5 Minuten postet, dann starte einen Kampf mit dir ISP, nur weil du den Download getestet hast, was gut ist, aber du hast einen beschissenen Upload ... Noch einmal Entschuldigung wenn mein Ton unhöflich war, wollte ich nicht beleidigen ... - Emil Borconi


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.


18
2017-12-02 15:06





Ich mag den speedometer Ubuntu cli.

speedometer -r eth0

Um einen Live-Graph der eingehenden Datengeschwindigkeiten zu sehen.


5
2017-09-02 21:22



Das ist eigentlich das, wonach ich eine Weile gesucht habe! Vielen Dank! aber ich mag es nicht, dass es Geschwindigkeiten in Kib und nicht Kb oder KB zeigt - redbeam_


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


3
2017-09-20 02:29



Dies würde einige Server einrichten erfordern ... - Braiam
url_1,2,3,4 kann alles sein, z. B. öffentliche Server. - rexis
beispielsweise timeout 5 wget http://speedtest.netcologne.de/test_100mb.bin -O /tmp/temp5sec Analysiere dann die Dateigröße und teile sie mit 5: expr $(stat --printf="%s" /tmp/temp5sec) / 5 / 1024 in kbit / s - rubo77


Sie können verwenden tespeed . Es ist ein Terminal-Netzwerkgeschwindigkeitstest, der Server von verwendet Speedtest.net. 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 

enter image description here

für weitere Informationen benutzen Sie:

 ./tespeed.py  -h

es wird mehr Option für Geschwindigkeitstest bieten.


3
2017-09-12 06:08



Hinweis: erfordert lxml - Matt


Einfaches Bash-Skript basierend auf @rexis-Antwort. Sie können Ihre eigenen Links zum Testen hinzufügen links Array oder lesen Sie sie aus der Datei

#!/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 $1}')

echo "Cleaning up"
rm -rf $TMP_PATH

speed=$(expr $total_bytes / $TEST_TIME)

echo "Speed is $speed Kb/s"

exit 0

2
2018-03-24 12:28



Ein Minus - was ist wenn ich eine andere Sprache als Englisch benutze? siehe: grep :) teil - ceph3us


Sie können es auch versuchen http://dl.getipaddr.net

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

Zusamenfassend

wget https://raw.github.com/blackdotsh/curl-speedtest/master/speedtest.sh && chmod u + x speedtest.sh && bash speedtest.sh


0
2018-03-07 18:17





ein einfacher Einzeiler, der testet, wie lange es dauert, 100MB herunterzuladen (arbeitet auf /bin/sh ebenfalls):

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

Erläuterung:

  1. Speichern Sie den Zeitstempel in $ t
  2. Download 100MB, aber nichts speichern
  3. Berechnung 8 * 100mb / $t

0
2017-08-29 07:29



Dies funktionierte großartig, da ich von einem statuslosen schreibgeschützten rootFS und wget gab die Geschwindigkeit nicht aus. - Josh Habdas