GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Überprüfen Sie die Internetgeschwindigkeit mit speedtest-cli auf Debian und Ubuntu

Die Geschwindigkeit der Internetverbindung überprüfen wir immer in unseren Häusern und Büros. Die häufigste Methode, die wir verwenden, ist der Besuch einer Geschwindigkeitstest-Website wie speedtest.net. Auf dieser Seite wird eine Javascript-Anwendung in den Webbrowser geladen, die basierend auf der Ping-Zeit den besten (in der Nähe befindlichen) Server auswählt, und dann werden die Geschwindigkeitstestergebnisse für diesen Server angezeigt. Speedtest.net verwendet auch einen Flash-Player, um das Ergebnis grafisch darzustellen.

Das Problem bei der Verwendung dieser webbasierten Geschwindigkeitstests besteht darin, dass Sie den Geschwindigkeitstest nicht in regelmäßigen Abständen planen können, z. als Cronjob und Sie können sie nicht auf Headless-Servern verwenden. Eine Anwendung, die dieses Problem lösen kann, ist „speedtest-cli“. Mit dieser Anwendung können Sie Ihre Internetgeschwindigkeit über die Befehlszeile überprüfen.

Was ist speedtest-cli?

Speedtest-cli ist ein in der Programmiersprache Python geschriebenes Skript, das die Internetgeschwindigkeit bidirektional misst. Diese Anwendung ermöglicht es Ihnen, Ihre Internetgeschwindigkeit nach Entfernung in km zu überprüfen, sie kann mit bestimmten Servern testen und stellt auch eine URL bereit, damit Sie Ihr Ergebnis im Internet teilen können.

Wie installiere ich speedtest-cli unter Linux?

Um die Anwendung speedtest-cli zu installieren, muss Python 2.4-3.4 oder eine aktualisierte Version auf Ihrem System installiert sein.

Sie können die Speedtest-Cli-Tools auf zwei Arten installieren. Die erste Methode beinhaltet die Verwendung des Paketmanagers python-pip, die zweite Methode besteht darin, das Python-Skript manuell herunterzuladen, es ausführbar zu machen und dann die Anwendung auszuführen.

Methode 1:Installieren von speedtest-cli mit python-pip

Der nächste Schritt muss als Root-Benutzer ausgeführt werden, da ich nicht jedem Befehl sudo voranstellen möchte, führen Sie bitte zuerst den folgenden Befehl auf Ubuntu aus, um Root-Benutzer zu werden:

sudo su

1. Stellen Sie zunächst sicher, dass Ihre Paketliste aus allen Ubuntu-Repositories und PPAs auf dem neuesten Stand ist, indem Sie den folgenden Befehl ausführen:

apt-get update

Beispielausgabe:

2. Im nächsten Schritt installieren Sie den Pip-Paketmanager auf Ihrem System. Wie Sie sehen, installiert der Befehl auch viele Abhängigkeiten.

apt-get install python-pip
[email protected]:/# apt-get install python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libexpat1-dev libpython-all-dev libpython-dev libpython2.7-dev python-all python-all-dev python-asn1crypto python-cffi-backend python-crypto python-cryptography python-dbus python-dev
python-enum34 python-gi python-idna python-ipaddress python-keyring python-keyrings.alt python-pip-whl python-pkg-resources python-secretstorage python-setuptools python-six
python-wheel python-xdg python2.7-dev
Suggested packages:
python-crypto-doc python-cryptography-doc python-cryptography-vectors python-dbus-dbg python-dbus-doc python-enum34-doc python-gi-cairo gnome-keyring libkf5wallet-bin
gir1.2-gnomekeyring-1.0 python-fs python-gdata python-keyczar python-secretstorage-doc python-setuptools-doc
The following NEW packages will be installed:
libexpat1-dev libpython-all-dev libpython-dev libpython2.7-dev python-all python-all-dev python-asn1crypto python-cffi-backend python-crypto python-cryptography python-dbus python-dev
python-enum34 python-gi python-idna python-ipaddress python-keyring python-keyrings.alt python-pip python-pip-whl python-pkg-resources python-secretstorage python-setuptools python-six
python-wheel python-xdg python2.7-dev
0 upgraded, 27 newly installed, 0 to remove and 60 not upgraded.
Need to get 32.1 MB of archives.
After this operation, 53.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Drücken Sie Y, um fortzufahren   

Beispielausgabe:

3.  Nach der Installation des Pakets können Sie die Anwendung mit diesem Pip-Befehl installieren:

pip install speedtest-cli
Collecting speedtest-cli
Downloading https://files.pythonhosted.org/packages/61/8b/58d1de9a7fff3e91c5ab956ab4ba72b49f42d9f73d5f3e248c740dfcc816/speedtest_cli-2.1.1-py2.py3-none-any.whl
Installing collected packages: speedtest-cli
Successfully installed speedtest-cli-2.1.1

4. Wenn Sie die Anwendung speedtest-cli in Zukunft aktualisieren möchten, können Sie diesen Befehl verwenden:

pip install speedtest-cli –-upgrade
Requirement already up-to-date: speedtest-cli in /usr/local/lib/python2.7/dist-packages
Cleaning up...

Methode 2:Manuelle Installation der neuesten Speedtest-CLI von GitHub

1. Zuerst müssen Sie das Python-Skript von GitHub mit dem Befehl

herunterladen
cd /tmp
wget https://github.com/sivel/speedtest-cli/archive/master.zip
--2019-04-25 19:24:47-- https://github.com/sivel/speedtest-cli/archive/master.zip
Resolving github.com (github.com)... 140.82.118.4, 140.82.118.3
Connecting to github.com (github.com)|140.82.118.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/sivel/speedtest-cli/zip/master [following]
--2019-04-25 19:24:47-- https://codeload.github.com/sivel/speedtest-cli/zip/master
Resolving codeload.github.com (codeload.github.com)... 192.30.253.121, 192.30.253.120
Connecting to codeload.github.com (codeload.github.com)|192.30.253.121|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: ‘master.zip’

master.zip [ <=> ] 27.55K 103KB/s in 0.3s

2019-04-25 19:24:48 (103 KB/s) - ‘master.zip’ saved [28215]

2. Im zweiten Schritt entpacken Sie die heruntergeladene Datei (master.zip) und extrahieren sie mit dem Unzip-Befehl:

unzip master.zip
Archive: master.zip
681cdf20a5fe774ba3aefedd0cd88cbff5384439
creating: speedtest-cli-master/
inflating: speedtest-cli-master/.gitignore
inflating: speedtest-cli-master/.travis.yml
inflating: speedtest-cli-master/CONTRIBUTING.md
inflating: speedtest-cli-master/LICENSE
inflating: speedtest-cli-master/MANIFEST.in
inflating: speedtest-cli-master/README.rst
extracting: speedtest-cli-master/setup.cfg
inflating: speedtest-cli-master/setup.py
inflating: speedtest-cli-master/speedtest-cli.1
inflating: speedtest-cli-master/speedtest.py
creating: speedtest-cli-master/tests/
creating: speedtest-cli-master/tests/scripts/
inflating: speedtest-cli-master/tests/scripts/source.py
inflating: speedtest-cli-master/tox.ini

3. Wenn Sie die Datei extrahiert haben, machen Sie das extrahierte Skript ausführbar, indem Sie in das extrahierte Verzeichnis wechseln und den Befehl chown verwenden.

cd speedtest-cli-master/
chmod 755 speedtest.py

4. Um nicht jedes Mal den vollständigen Pfad eingeben zu müssen, verschieben Sie die ausführbare Datei mit dem folgenden Befehl nach /usr/local/bin:

sudo mv speedtest.py /usr/local/bin/speedtest-cli

Wie teste ich die Geschwindigkeit der Internetverbindung mit speedtest-cli?

Führen Sie den Befehl speedtest-cli aus, um die Download- und Upload-Geschwindigkeit Ihrer Internetverbindung ohne Argumente zu testen:

speedtest-cli
Testing download speed........................................
Download: 916.39 Mbit/s
Testing upload speed..................................................
Upload: 489.57 Mbit/s

Wenn Sie das Geschwindigkeitsergebnis in Bytes statt in Bits überprüfen möchten, verwenden Sie diesen Befehl:

speedtest-cli --bytes
Testing download speed........................................
Download: 114.15 Mbyte/s
Testing upload speed..................................................
Upload: 49.61 Mbyte/s

Wenn Sie das Geschwindigkeitsergebnis mit Ihren Freunden teilen möchten, können Sie das Bild des Ergebnisses mit der nach dem Ergebnis angegebenen URL herunterladen.

speedtest-cli --share
Retrieving speedtest.net configuration...
Testing from Hetzner Online GmbH (..........)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by avrx (Limburg an der Lahn) [140.88 km]: 14.379 ms
Testing download speed................................................................................
Download: 309.68 Mbit/s
Testing upload speed................................................................................................
Upload: 316.33 Mbit/s
Share results: http://www.speedtest.net/result/xxxxxxxxxxx.png

Unten sehen Sie das Bild meines Geschwindigkeitstestergebnisses aus dem obigen Test.

Wenn Sie nur Informationen zu Ping, Download und Upload wünschen, verwenden Sie:

speedtest-cli --simple
Ping: 5.23 ms
Download: 877.56 Mbit/s
Upload: 162.21 Mbit/s

Sie können die Liste der Server auch basierend auf der Entfernung in km überprüfen, indem Sie Folgendes verwenden:

speedtest-cli --list
2628) Telstra (Adelaide, Australia) [17098.98 km]
4051) Vodafone Hutchison Australia (AE) (Adelaide, Australia) [17098.98 km]
...........................................................................
3254) Vodafone Hutchison Australia (PH) (Perth, Australia) [18700.26 km]
1931) IX Australia (Perth, Australia) [18700.26 km]

Indem Sie die Liste in Bezug auf die Entfernung durchsucht haben, haben Sie möglicherweise eine große Liste der Server erstellt. Wenn Sie das Ergebnis für Server eines bestimmten Gebiets überprüfen möchten, können Sie dies überprüfen, indem Sie das Ergebnis an den grep-Befehl weiterleiten (Australien ist ein Beispiel für das Gebiet):

speedtest-cli --list | grep –i Australia
2604) Telstra (Brisbane, Australia) [15501.92 km]
1594) 'Yes' Optus (Brisbane, Australia) [15501.92 km]
...............................................................................................
3254) Vodafone Hutchison Australia (PH) (Perth, Australia) [18700.26 km]
1931) IX Australia (Perth, Australia) [18700.26 km]

Um die Verbindungsgeschwindigkeit mit einem bestimmten Server zu testen, müssen Sie die in Schritt 5 und 6 generierte Server-ID verwenden.

speedtest-cli --server [server ID]
speedtest-cli --server 2604

Hier wird als Beispiel die Server-ID 2604 verwendet:

Hosted by Telstra (Brisbane) [15501.92 km]: 452.614 ms
Testing download speed........................................
Download: 28.79 Mbit/s
Testing upload speed..................................................
Upload: 11.71 Mbit/s

Wenn Sie die Hilfe und die Versionsnummer des Speedtest-Cli-Tools überprüfen möchten, verwenden Sie diese Befehle:

speedtest-cli --version
0.3.4
speedtest-cli --help
usage: speedtest_cli [-h] [--bytes] [--share] [--simple] [--list]
[--server SERVER] [--mini MINI] [--source SOURCE]
[--timeout TIMEOUT] [--secure] [--version]
Command line interface for testing internet bandwidth using speedtest.net.
--------------------------------------------------------------------------
https://github.com/sivel/speedtest-cli
optional arguments:
-h, --help show this help message and exit
--bytes Display values in bytes instead of bits. Does not affect
the image generated by --share
--share Generate and provide a URL to the speedtest.net share
results image
--simple Suppress verbose output, only show basic information
--list Display a list of speedtest.net servers sorted by
distance
--server SERVER Specify a server ID to test against
--mini MINI URL of the Speedtest Mini server
--source SOURCE Source IP address to bind to
--timeout TIMEOUT HTTP timeout in seconds. Default 10
--secure Use HTTPS instead of HTTP when communicating with
speedtest.net operated servers
--version Show the version number and exit

Erstellen eines Internet-Geschwindigkeitsprotokolls mit Speedtest-Cli

Speedtest-cli kann als Cronjob ausgeführt werden, um ein Internet-Geschwindigkeitstestprotokoll zu erhalten. Öffnen Sie die Crontab mit diesem Befehl:

crontab -e

Und fügen Sie diese Zeile (ich nehme an, dass speedtest_cli.py in /usr/local/bin installiert ist) zur crontab hinzu:

30 00 * * *  /usr/local/bin/speedtest-cli >> /tmp/speedlog.txt

Speichern Sie die Änderungen und beenden Sie den Crontab-Editor. Dadurch wird jeden Tag um 0:30 Uhr ein Geschwindigkeitstest durchgeführt und das Ergebnis an die Datei /tmp/speedlog.txt angehängt.

Schlussfolgerung

Diese Anwendung ist leicht, einfach zu bedienen und läuft ohne Probleme, was sie zu einem unverzichtbaren Tool für Entwickler und Systemadministratoren macht.


Ubuntu
  1. Installieren und starten Sie mit MySQL Workbench unter Ubuntu

  2. Installieren Sie Node.js in Ubuntu und Debian

  3. So installieren Sie Python 3.7 unter Ubuntu, Debian und LinuxMint

  4. So installieren Sie Mattermost mit MySQL unter Ubuntu 14.04 und Debian 8

  5. Installieren und konfigurieren Sie Apache und PHP mit cgi auf Ubuntu oder Debian

So installieren Sie Zoom Ubuntu und Debian-Derivate

Installieren und konfigurieren Sie Virtualmin auf Ubuntu 20.04 / Debian 10 Server

So installieren Sie Jitsi Meet unter Debian und Ubuntu

So installieren Sie Drupal mit Apache auf Debian und Ubuntu

So installieren Sie ONLYOFFICE-Dokumente unter Debian und Ubuntu

So installieren Sie Grafana auf Ubuntu 18.04 und Debian 8