Веб-спидтесты требуют браузера и JavaScript. На сервере ни того, ни другого нет — измеряем из консоли.
Способ 1: speedtest-cli
Тот же Speedtest.net, только в терминале:
sudo apt install -y speedtest-cli
speedtest-cli
Вывод покажет пинг, скорость загрузки и отдачи. Сокращённая форма без лишнего текста:
speedtest-cli --simple
Выбрать конкретный сервер — сначала посмотрите список ближайших:
speedtest-cli --list | head -20
speedtest-cli --server НОМЕР
Совет. Автоматически выбранный сервер не всегда ближайший по реальному маршруту. Для повторяемых измерений всегда фиксируйте один и тот же сервер через --server.
Способ 2: iperf3 между своими серверами
Это точнее: измеряется канал между вашими узлами, а не до случайного публичного сервера.
На принимающей стороне:
sudo apt install -y iperf3
iperf3 -s
На отправляющей:
iperf3 -c IP_СЕРВЕРА -t 20
Полезные ключи:
-t 20— длительность теста в секундах-R— обратное направление, измерить скачивание-P 4— четыре параллельных потока, покажет реальный потолок канала-u -b 100M— UDP-тест на заданной скорости, видно потери пакетов
Предупреждение. iperf3 по умолчанию слушает порт 5201. Открывайте его в firewall только на время теста и только для конкретного IP — публично доступный iperf-сервер используют для усиления атак.
Способ 3: curl на большой файл
Без установки чего-либо — скачиваем тестовый файл и смотрим скорость:
curl -o /dev/null -w "Скорость: %{speed_download} байт/с\nВремя: %{time_total} с\n" \
https://speed.cloudflare.com/__down?bytes=100000000
Перевод в мегабиты:
curl -o /dev/null -s -w "%{speed_download}" \
https://speed.cloudflare.com/__down?bytes=100000000 | \
awk '{printf "%.1f Mbps\n", $1*8/1000000}'
Что мешает измерению
- Один поток упирается не в канал. TCP на длинном маршруте с потерями не разгонится. Используйте
-P 4у iperf3 - Диск вместо сети. Пишите в
/dev/null, а не на диск — иначе измерите скорость записи - Соседи по гипервизору. На VPS скорость плавает, делайте несколько замеров в разное время
Итог
Для быстрой оценки — speedtest-cli --simple. Для точного измерения своего канала — iperf3 с несколькими потоками. Для проверки без установки — curl с выводом %{speed_download}.