Битлента
Сетевые команды и утилиты5 мин чтения·

speedtest-cli: как измерить скорость из консоли и сохранить результат

Как измерить скорость интернета из терминала утилитой speedtest-cli или официальным консольным клиентом, вывести JSON и CSV и вести журнал замеров.

Кратко

Команда speedtest-cli --simple печатает пинг, загрузку и отдачу в три строки, ключи --json и --csv нужны для журнала, --server выбирает узел. Есть две программы с похожими названиями: скриптовая на Python и официальный клиент.

Две программы под одним именем

Запрос «speedtest-cli» приводит к двум разным утилитам, и синтаксис у них отличается. Первая — сторонний скрипт на Python, который ставится командой pip install speedtest-cli или из репозиториев дистрибутива и запускается как speedtest-cli, а часто и как speedtest. Вторая — официальный консольный клиент сервиса Ookla, распространяемый как готовый бинарный файл. Команда там тоже называется speedtest, но ключи другие.

Как понять, какая из них установлена: выполните speedtest --version. Если в выводе упоминается Ookla и указана лицензия, это официальный клиент; если версия выводится коротко, а справка содержит ключи --simple и --csv-header, это скриптовая версия. Если установлены обе и вы не уверены, какая запустилась, укажите имя полностью: speedtest-cli для скрипта.

Оба варианта проверяют скорость до выбранного сервера измерений, а не «скорость интернета вообще». Результат зависит от узла, времени суток, состояния Wi-Fi и загрузки вашего компьютера.

Скриптовая версия: ключи и результат

Простейший запуск: speedtest-cli --simple. Пример вывода (пример): Ping: 12.4 ms, Download: 92.35 Mbit/s, Upload: 41.20 Mbit/s. Без --simple программа покажет ход выбора сервера, а в конце добавит строки с результатом.

КлючЧто делает

Обратите внимание на единицы. По умолчанию результат в мегабитах в секунду, тогда как большинство программ показывает скорость загрузки файла в мегабайтах. В одном байте восемь бит, поэтому 80 Мбит/с — это около 10 Мбайт/с. Путаница между этими единицами даёт большинство жалоб на «недобор скорости».

Официальный клиент

У официальной программы при первом запуске требуется согласиться с лицензией: speedtest --accept-license --accept-gdpr. Затем достаточно команды speedtest. Она печатает сервер, пинг с разбросом, загрузку и отдачу, а также иногда потери пакетов. Полезные ключи: -L покажет список ближайших серверов, -s номер выберет сервер, -f json или -f csv поменяет формат вывода. Точный список ключей смотрите в справке командой speedtest --help, потому что набор может меняться от версии к версии.

Установка зависит от системы. В Linux и macOS программа обычно ставится из репозитория разработчика или через менеджер пакетов, в Windows скачивается архивом с сайта разработчика и запускается прямо из папки. Так как официальный клиент отправляет результаты сервису, учтите политику сбора данных и лицензию, с которой вы соглашаетесь.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Как получить сопоставимый результат

Одиночное измерение малоинформативно. Чтобы результат имел смысл, придерживайтесь порядка.

  1. Подключите компьютер к роутеру кабелем и отключите Wi-Fi: так вы проверяете линию провайдера, а не эфир.
  2. Закройте программы, которые используют сеть: облачную синхронизацию, обновления, видео и потоковые сервисы.
  3. Выполните --list и выберите близкий сервер, затем всегда используйте один и тот же номер через --server.
  4. Сделайте три-пять замеров с паузой в минуту и запишите значения.
  5. Повторите в разное время суток: вечерние часы часто медленнее из-за нагрузки на сеть провайдера.
  6. Сравните проводной результат с Wi-Fi: разница показывает потери на беспроводном участке.

Слишком частые замеры не нужны и создают лишнюю нагрузку на серверы измерений. Раз в час вполне достаточно для журнала, а для разовой проверки достаточно нескольких запусков.

Журнал замеров: CSV и расписание

Чтобы увидеть картину за сутки, сохраняйте результаты. Один раз выведите заголовок: speedtest-cli --csv-header > speed.csv. Затем добавляйте строки: speedtest-cli --csv >> speed.csv. В файле окажутся время, сервер, пинг, загрузка, отдача и адрес, с которого шёл тест. Файл открывается в любой электронной таблице, где можно построить график.

Запуск по расписанию: в Linux и macOS подойдёт cron, в Windows планировщик заданий или команда schtasks. Пример записи cron (пример): раз в час вызывать скрипт, который дописывает строку в файл. Учтите, что в cron нет вашей обычной среды, поэтому указывайте полный путь к программе, узнать который можно командой which speedtest-cli в Linux и macOS или where speedtest-cli в Windows.

Если нужно передать результат в другую программу, используйте --json: формат удобно разбирать скриптами. Не публикуйте ссылки на результаты и файлы журнала, если в них есть ваш внешний адрес.

Что не покажет консольный тест

Тест измеряет одну линию до одного сервера. Он не скажет, почему конкретный сайт открывается медленно: причина может быть в его собственном сервере, маршруте или DNS. Для проверки одного сайта пригодятся curl с временными метками и mtr. Он также не заменяет проверку внутренней сети: для этого есть iperf3, которому не нужен интернет.

Интерпретируйте результат осторожно. Отклонение в десять-двадцать процентов от заявленного значения на Wi-Fi обычно нормально, а стабильный недобор по кабелю повод обратиться к провайдеру с журналом замеров. Приложите время, номер сервера и значения, тогда обращение будет предметным. Полезно сравнить результат с тем, что заявлено в договоре, но помнить о разнице между «до» и «после» роутера. Если компьютер подключён кабелем прямо к оборудованию провайдера, вы измеряете линию. Если через ваш роутер, в цифру входят и его возможности, а у бюджетных моделей при включённых функциях защиты и фильтрации скорость маршрутизации падает. Проверьте оба варианта, когда это возможно: разница подскажет, где узкое место. Также обратите внимание на защитные и сетевые программы на компьютере: они могут менять маршрут и результат, поэтому на время замера их лучше отключать. Помните и про ограничения оборудования: старый роутер с портами на сто мегабит физически не выдаст больше, как бы ни была быстра линия.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
speedtestскорость интернетакомандная строказамеры

Часто задаваемые вопросы

Читайте также