В Linux утилита Speedtest является консольным интерфейсом для тестирования интернет соединения с использованием speedtest.net.

Содержание
Возможности
Speedtest CLI позволяет легко выполнять следующее:
- измерение показателей производительности интернет-соединения, таких как скорость загрузки, отправки, задержку и потерю пакетов, без использования веб-браузера;
- проверка интернет-соединение настольного компьютера Linux, удалённого сервера или даже маломощных устройств, таких как Raspberry Pi®, с помощью Speedtest Server Network ™;
- настройка автоматизированных скриптов для сбора данных о производительности соединения, включая тенденции с течением времени;
- вывод структурированных данных, готовых к интеграции с панелями визуализации и платформами наблюдения;
- использование Speedtest в иных программах, интегрировав его в выбранный язык программирования;
- просмотр результатов теста через CSV, JSONL или JSON.
Установка
Установка в Arch Linux
oleg@mobile:~:$ sudo pacman -S speedtest-cli
разрешение зависимостей...
проверка конфликтов...
Пакеты (1) speedtest-cli-2.1.3-9
Будет загружено: 0,05 MiB
Будет установлено: 0,24 MiB
:: Приступить к установке? [Y/n] y
:: Получение пакетов...
speedtest-cli-2.1.3-9-any 53,9 KiB 9,86 KiB/s 00:05 [###############################################] 100%
(1/1) проверка ключей [###############################################] 100%
(1/1) проверка целостности пакета [###############################################] 100%
(1/1) загрузка файлов пакетов [###############################################] 100%
(1/1) проверка конфликтов файлов [###############################################] 100%
(1/1) проверка доступного места [###############################################] 100%
:: Обработка изменений пакета...
(1/1) установка speedtest-cli [###############################################] 100%
:: Запуск post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
oleg@mobile:~:$
Установка в Ubuntu
oleg@mobile:~:$ sudo apt install speedtest-cli
...
Синтаксис
$ speedtest-cli [параметры]
Параметры
-h, --help
Показать это справочное сообщение и выйти
--no-download
Не выполнять тест скачивания
--no-upload
Не выполнять тест загрузки
--single
Использовать только одно соединение вместо нескольких. Это имитирует типичную передачу файлов
--bytes
Отобразить значения в байтах, а не в битах. Не влияет на изображение, сгенерированное --share, а также на вывод
--json
или--csv
--share
Сгенерировать и указать URL-адрес изображения с результатами общего доступа speedtest.net, не отображаемого с параметром
--csv
--simple
Подавить подробный вывод, показывать только основную информацию
--csv
Подавить подробный вывод, отобразить только основную информацию в формате CSV. Скорости указаны в бит/с и не зависят от параметра
--bytes
--csv-delimiter CSV_DELIMITER
Разделитель для использования в выходных данных CSV. По умолчанию
,
--csv-header
Печать заголовков CSV
--json
Подавить подробный вывод, отобразить только основную информацию в формате JSON. Скорости указаны в бит/с и не зависят от параметра
--bytes
--list
Отобразить список серверов speedtest.net, отсортированных по расстоянию
--server SERVER
Указать идентификатор сервера для проверки. Можно указать несколько раз
--exclude EXCLUDE
Исключить сервер из выбора. Может быть задано несколько раз
--mini MINI
URL сервера Speedtest Mini
--source SOURCE
Исходный IP-адрес для привязки
--timeout TIMEOUT
Время ожидания HTTP в секундах. По умолчанию 10
--secure
Использовать HTTPS вместо HTTP при взаимодействии с серверами speedtest.net
--no-pre-allocate
Не использовать предварительное выделение памяти для загружаемых данных. Предварительное выделение памяти включено по умолчанию для повышения производительности загрузки. Для поддержки систем с недостаточным объёмом памяти использовать этот параметр, чтобы избежать ошибки MemoryError
--version
Показать номер версии и выйти
Использование Speedtest в Linux
Здесь показано несколько примеров использования утилиты:
Запуск без параметров
При запуске утилиты без параметров будет выведена информация о ближайшем сервере с указанием скоростей скачивания и загрузки:
oleg@mobile:~:$ speedtest-cli
Retrieving speedtest.net configuration...
Testing from Ultranet (77.77.3.137)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by AltusHost B.V. (Sofia) [120.88 km]: 33.887 ms
Testing download speed................................................................................
Download: 4.11 Mbit/s
Testing upload speed.....................................................................................................
.Upload: 5.28 Mbit/s
oleg@mobile:~:$
Одно соединение
Использование только одного соединения спараметром --single
вместо нескольких позволяет имитировать типичную передачу файлов:
oleg@mobile:~:$ speedtest-cli --single
Retrieving speedtest.net configuration...
Testing from Ultranet (77.77.3.137)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by GAMEHOST.BG (Sofia) [120.88 km]: 28.049 ms
Testing download speed................................................................................
Download: 2.91 Mbit/s
Testing upload speed......................................................................................................
Upload: 0.53 Mbit/s
oleg@mobile:~:$
Список серверов speedtest.net
При запуске утилиты с параметром --list
будет отображён список серверов speedtest.net, отсортированных по расстоянию:
oleg@mobile:~:$ speedtest-cli --list
Retrieving speedtest.net configuration...
37580) OPTILAND Communications IKE (Serres, Greece) [57.82 km]
18665) SpiderNet (Gevgelija, Macedonia) [88.65 km]
38115) Melbicom (Sofia, Bulgaria) [120.88 km]
57817) PQ.Hosting (Sofia, Bulgaria) [120.88 km]
71858) SetService Network (Sofia, Bulgaria) [125.57 km]
38088) GoNet Communications (Skopje, North Macedonia) [161.21 km]
63608) Elsa-Tech LLC (Lipjan, Kosovo) [208.20 km]
19187) TelKos LLC (Prishtina, Kosovo) [213.23 km]
54992) neWave (Saranda, Albania) [334.25 km]
54045) Fast Telecom GR (Igoumenitsa, Greece) [343.34 km]
oleg@mobile:~:$
Заключение
Использование утилиты Linux Speedtest не представляет никаких сложностей. Она позволяет получить различные необходимые показатели производительности интернет-соединения. При этом не требуется использование веб-браузера, который, как правило, к тому же увешан рекламными баннерами.