Проверка скорости интернет соединения из командной строки
Часто бывает нужно замерить скорость интернет соединения, и не всегда хочется городить для этого новый, очередной набор костылей (я знавал одного товарища, который поднимал X-сервер, запускал браузер и проверял на speedtest.net). У меня для этих нужд есть свой набор скриптов, который не всегда удобен. В общем наткнулся я на python скрипт - speedtest-cli который для примерной оценки мне подошёл.
Speedtest-cli - это небольшой python скрипт использующий сервера speedtest.net для замера скорости интернет соединения.
Хочу заметить, что для точных замеров speedtest не очень подходит в принципе. Замер скорости интернет соединения задача не самая тривиальная, и собственно сама скорость зависит от большого количества различных фактов, но для примерного представления насколько "широкий" или наоборот "узкий" канал у провайдера в различные точки подходит.
В установке нет ничего сложного:
sudo apt-get install python-pip
sudo pip install speedtest-cli
Для обновления утилиты:
sudo pip install speedtest-cli --upgrade
Если запустить без параметров, то будет автоматически выбран лучший сервер из ближайших на основе RTT:
bosha@testpc:~$ speedtest
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from PROVIDERNAME (XXX.XXX.XXX.XXX)...
Selecting best server based on ping...
Hosted by Rostelecom (Saransk) [12.23 km]: 15.02 ms
Testing download speed........................................
Download: 54.29 Mbit/s
Testing upload speed..................................................
Upload: 53.65 Mbit/s
Чтобы вывести список серверов используйте --list
. Лучше даже сразу передав его в less или more т.к. список серверов довольно большой:
root@testpc:~$ speedtest --list | less
...
4186) Rostelecom (Saransk, Russian Federation) [282.56 km]
...
Чтобы сделать замер до конкретного сервера нужно указать параметр --server
и номер выбранного сервера. Например, чтобы выполнить замер до сервера РТ в городе Саранск нужно указать 4186:
bosha@testpc:~$ speedtest --share --server 4186
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from PROVIDERNAME (XXX.XXX.XXX.XXX)...
Hosted by Rostelecom (Saransk) [282.56 km]: 17.643 ms
Testing download speed........................................
Download: 53.51 Mbit/s
Testing upload speed..................................................
Upload: 45.74 Mbit/s
Конечно можно получить изображение с результатом. Для этого служит параметр --share
.
Если кто-то не знает как оно выглядит:
Ссылки:
- Страница проекта на github - https://github.com/sivel/speedtest-cli