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?
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
speedtest-cli
ist jetzt in Ubuntu-Repositories. Für Ubuntu 16.04 (Xenial) und später verwenden:
sudo apt install speedtest-cli
speedtest-cli
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
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
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:
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.
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.
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.
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.
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.
Ich mag den speedometer
Ubuntu cli.
speedometer -r eth0
Um ein Live-Diagramm der eingehenden Datengeschwindigkeiten zu sehen.
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).
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.
Einfaches Bash-Skript basierend auf @rexis-Antwort. Sie können Ihre eigenen Links zum Testen in links
array setzen oder 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 }')
echo "Cleaning up"
rm -rf $TMP_PATH
speed=$(expr $total_bytes / $TEST_TIME)
echo "Speed is $speed Kb/s"
exit 0
Sie können auch Pfandrecht
ausprobierenSie 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
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:
8 * 100mb / $t
Tags und Links command-line internet download-speed