Сервис проверки скорости интернет-соединения Speedtest by Ookla в представлении не нуждается. Это известный и авторитетный инструмент, располагающий большим количеством серверов по всему миру. Можно без преувеличения сказать, что каждый системный администратор его хоть раз, да использовал. Говоря о Speedtest обычно, мы имеем ввиду одноименный сайт, который позволяет выполнить тестирование, но существует и вариант теста для командной строки, который позволяет использовать его на серверах и в сценариях мониторинга.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Браузерные приложения всем хороши - не требуют установки, просты в использовании, наглядны, но только вот что делать, если вы работаете на сервере без графической оболочки или хотите использовать предлагаемые приложением функции в скриптах или сценариях? В этих случаях не обойтись без вариантов приложения для интерфейса командной строки - CLI (Command Line Interface).
Speedtest предоставляет такую возможность, приложение для командной строки можно получить на официальном сайте, доступны версии для Windows, Linux, macOS и FreeBSD. Далее мы будем рассматривать версию для Linux-дистрибутивов основанных на Debian, но это касается только установки, использование утилиты во всех поддерживаемых системах одинаково.
В Linux нам доступно два варианта использования утилиты: установить ее через пакетный менеджер или скачать архив с бинарным файлом. Первый вариант является более предпочтительным, так как правилами хорошего тона в Linux является установка ПО из репозиториев, хотя опытные администраторы могут просто использовать бинарный файл. Этим и хорош Linux - каждый может настраивать систему именно так, как нравится, а не так, как задумал кто-то там.
Инструкции по установке приведены на официальной странице, но мы все равно повторим их здесь. Установку следует производить с правами суперпользователя или используя sudo. Здесь таятся некоторые различия. С правами root нам достаточно выполнить:
curl -s https://install.speedtest.net/app/cli/install.deb.sh | bash
А через sudo:
curl -s https://install.speedtest.net/app/cli/install.deb.sh | sudo bash
Почему именно так? Потому что первая команда производит скачивание скрипта и в повышении прав не нуждается. А при использовании конвейера в Linux повышение прав не наследуется, т.е. все последующие команды будут выполнены с правами пользователя, без учета sudo. Поэтому sudo надо использовать именно перед командой, требующей повышения прав, а не в начале строки.
После выполнения указанных команд в систему будет подключен новый репозиторий и будет произведено обновление списка пакетов, после чего нужно будет просто установить утилиту командой:
apt install speedtest
Пользоваться ей очень просто, если мы запустим ее без аргументов, то будет выполнен тест с автоматическим выбором ближайшего сервера и выводом результатов в терминал:
speedtest
Для того, чтобы получить список ближайших серверов наберите команду:
speedtest -L
Обратите внимание на колонку ID, потому что в утилите командной строки требуется использовать именно идентификатор сервера.
Выяснив необходимый идентификатор можно выполнить тест с данным узлом используя для указания сервера опцию -s или --server-id, например, для Ростелекома:
speedtest -s 3260
Но возможности Speedtest этим не ограничиваются, утилита способна выводить информацию в различных форматах: несколько вариантов JSON, CSV и TSV (CSV с разделителем Tab). Для этого используйте ключ -f или --format:
speedtest -s 3260 -f json-pretty
И если JSON вполне удобочитаемый формат, то CSV/TSV просто выводит строку чисел без расшифровки, чтобы правильно их интерпретировать можно использовать опцию добавляющую заголовки колонок --output-header:
Имейте ввиду одну особенность: вывод команд с указанием формата выводит скорость в байтах, чтобы получить привычные Mб/с полученное значение следует разделить на 125 000.
Как можно заметить, информация в нужном формате продолжает выводиться в терминал, чтобы направить ее в файл используйте:
speedtest -s 3260 -f tsv > ~/speedtest.tsv
Данная команда перенаправит вывод в файл speedtest.tsv в домашней директории пользователя и перезапишет его.
Если вы хотите дополнять файл, собирая в него информацию, то немного измените команду:
speedtest -s 3260 -f tsv >> ~/speedtest.tsv
Полученную информацию можно использовать самым разнообразным образом, скажем подключив к системе мониторинга Zabbix, где для этого имеются готовые плагины, либо, не имея иных инструментов, выполнив анализ в табличном редакторе:
Надеемся, что данный материал окажется вам полезен, а копилка администратора пополнится еще одним полезным инструментом.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии