GNU/Linux >> Znalost Linux >  >> Ubuntu

Zkontrolujte rychlost internetu pomocí speedtest-cli na Debianu a Ubuntu

Rychlost internetového připojení je něco, co vždy kontrolujeme v našich domovech a kancelářích. Nejběžnější metodou, kterou používáme, je návštěva webu pro testování rychlosti, jako je speedtest.net. Na této stránce se do webového prohlížeče načte javascriptová aplikace, která vybere nejlepší (blízký) server na základě času pingu a poté se zobrazí výsledky testu rychlosti pro tento server. Speedtest.net také používá flash player k vytvoření výsledku graficky.

Problém při použití těchto webových testů rychlosti je v tom, že vám neumožňují naplánovat test rychlosti v pravidelných intervalech, např. jako cronjob a nemůžete je použít na bezhlavých serverech. Jedna aplikace, která může tento problém vyřešit, je „speedtest-cli“. Tato aplikace vám umožňuje kontrolovat rychlost vašeho internetu pomocí příkazového řádku.

Co je speedtest-cli?

Speedtest-cli je skript napsaný v programovacím jazyce Python, který obousměrně měří rychlost internetu. Tato aplikace vám umožňuje kontrolovat rychlost vašeho internetu na vzdálenost v km, může testovat proti konkrétním serverům a také poskytuje URL, abyste mohli svůj výsledek sdílet na internetu.

Jak nainstalovat speedtest-cli na Linux?

Abyste mohli nainstalovat aplikaci speedtest-cli, musíte mít v systému nainstalovaný Python 2.4-3.4 nebo aktualizovanou verzi.

Nástroje speedtest-cli můžete nainstalovat dvěma způsoby. První metoda zahrnuje použití správce balíčků python-pip, druhá metoda je ruční stažení skriptu Python, jeho spuštění a následné spuštění aplikace.

Metoda 1:Instalace speedtest-cli pomocí python-pip

Další krok musí být spuštěn jako uživatel root, protože nechci před každým příkazem přidávat sudo, nejprve spusťte následující příkaz na Ubuntu, abyste se stali uživatelem root:

sudo su

1. Prvním krokem je zkontrolovat, zda je váš seznam balíčků ze všech úložišť Ubuntu a PPA aktuální, spuštěním následujícího příkazu:

apt-get update

Ukázkový výstup:

2. Dalším krokem je instalace správce balíčků pip do vašeho systému. Jak můžete vidět, příkaz nainstaluje také mnoho závislostí.

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

Pokračujte stisknutím Y   

Ukázkový výstup:

3.  Po instalaci balíčku můžete aplikaci nainstalovat pomocí tohoto příkazu pip:

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. Pokud chcete v budoucnu upgradovat aplikaci speedtest-cli, můžete použít tento příkaz:

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

Metoda 2:Ruční instalace nejnovějšího speedtest-cli z GitHubu

1. Nejprve si musíte stáhnout python skript z GitHubu pomocí příkazu

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. Druhým krokem je rozbalení souboru, který jste stáhli (master.zip) a jeho rozbalení pomocí příkazu unzip:

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. Po rozbalení souboru udělejte extrahovaný skript spustitelným tak, že přejdete do extrahovaného adresáře a použijete příkaz chown.

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

4. Abyste nemuseli pokaždé zadávat celou cestu, přesuňte spustitelný soubor do /usr/local/bin pomocí následujícího příkazu:

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

Jak otestovat rychlost internetového připojení pomocí speedtest-cli?

Spusťte příkaz speedtest-cli a otestujte rychlost stahování a odesílání vašeho internetového připojení bez jakéhokoli argumentu:

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

Pokud chcete zkontrolovat výsledek rychlosti v bajtech místo v bitech, použijte tento příkaz:

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

Pokud chcete výsledek rychlosti sdílet se svými přáteli, můžete si stáhnout obrázek výsledku s adresou URL uvedenou za výsledkem.

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

Níže je obrázek mého výsledku testu rychlosti z výše uvedeného testu.

Pokud chcete informace pouze o pingu, stáhněte si a nahrajte, použijte:

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

Můžete také zkontrolovat seznam serverů na základě vzdálenosti v km pomocí:

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]

Prohledáním seznamu z hlediska vzdálenosti jste mohli vygenerovat velký seznam serverů. Pokud chcete zkontrolovat výsledek pro servery v konkrétní oblasti, můžete to zkontrolovat vložením výsledku do příkazu grep (Austrálie je příkladem oblasti):

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]

Chcete-li otestovat rychlost připojení ke konkrétnímu serveru, musíte použít ID serveru vygenerované v kroku 5 a 6.

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

Zde je jako příklad použit server ID 2604:

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

Pokud chcete zkontrolovat nápovědu a číslo verze nástroje speedtest-cli, použijte tyto příkazy:

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

Vytvoření protokolu rychlosti internetu pomocí speedtest-cli

Speedtest-cli lze spustit jako cronjob pro získání protokolu testu rychlosti internetu. Otevřete crontab pomocí tohoto příkazu:

crontab -e

A přidejte tento řádek (předpokládám, že speedtest_cli.py je nainstalován v /usr/local/bin) do crontab:

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

Uložte změny a ukončete editor crontab. Tím se každý den v 0:30 spustí test rychlosti a výsledek se připojí k souboru /tmp/speedlog.txt.

Závěr

Tato aplikace je lehká, snadno se používá a běží bez jakýchkoliv problémů, což z ní činí nezbytný nástroj pro vývojáře a systémové administrátory.


Ubuntu
  1. Nainstalujte Node.js v Ubuntu a Debianu

  2. Jak nainstalovat Python 3.7 na Ubuntu, Debian a LinuxMint

  3. Jak nainstalovat Mattermost s MySQL na Ubuntu 14.04 a Debian 8

  1. Nainstalujte a začněte s MySQL Workbench na Ubuntu

  2. Jak nainstalovat Netflix v Kodi na Ubuntu a Debian

  3. Nainstalujte a nakonfigurujte Apache a PHP s cgi na Ubuntu nebo Debianu

  1. Jak nainstalovat a používat Wireshark na Debian 9 / Ubuntu 16.04 / 17.10

  2. Jak nainstalovat a nakonfigurovat Webmin na Debian / Ubuntu

  3. Jak nainstalovat WordPress s EasyEngine na Ubuntu 18.04 a Debian