Определение простыми словами
speedtest-cli — это тот самый Speedtest, но в командной строке. Запускаете одну команду на VPS через SSH — и через 30 секунд видите реальную скорость канала: сколько мегабит вниз, сколько вверх, какой пинг до выбранного сервера. Без графического интерфейса, без браузера, прямо на любом сервере с Python или статическим бинарником.
Существуют две версии: официальная Ookla Speedtest CLI (бинарник на C++, требует одноразового принятия лицензии) и неофициальная python-реализация speedtest-cli из репозитория sivel. Обе подключаются к той же сети серверов и дают сопоставимые результаты.
Сравнение инструментов
| Инструмент | Установка | Особенности |
|---|---|---|
| Ookla Speedtest CLI | apt из репозитория Ookla | Официальный, JSON-вывод, фирменные сервера |
| speedtest-cli (python) | pip install speedtest-cli | Свободная лицензия, простой скрипт |
| iperf3 | apt install iperf3 | Тест между двумя своими хостами, без интернета |
| fast.cli | npm install -g fast-cli | Замер через сеть Netflix Fast.com |
Кейсы использования
- Проверка обещанной провайдером ширины канала после переезда на новый VPS.
- Регулярные замеры по cron с записью в JSON и графиками — найти периоды деградации канала.
- Сравнение тарифов «10 Гбит/с» от разных провайдеров: цифры в маркетинге и реальная скорость к Москве часто различаются.
- Диагностика проблем с CDN: пинг до Speedtest растёт — значит, маршрут до Европы стал длиннее.
- Проверка резервного канала или второго провайдера перед запуском продакшена.
Негативный сценарий: speedtest-cli показывает пиковую скорость одного TCP-соединения до ближайшего сервера, но не отражает реальный пользовательский опыт из других регионов. Если ваши клиенты в Азии, а тест идёт до Москвы, цифры обманчиво хорошие. Дополняйте замеры тестами с реальных точек присутствия и мониторингом Core Web Vitals.
Технические детали
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | bash
apt install speedtest
speedtest --accept-license --accept-gdpr
speedtest --format=json > result.json
speedtest --servers
speedtest --server-id=10337
pip install speedtest-cli
speedtest-cli --simple
speedtest-cli --bytes --json
🔥 Где это применяется
Частые вопросы
Какой результат считать хорошим для VPS?
Зависит от тарифа. На канале 1 Гбит/с реальная скорость 700-900 Мбит/с по speedtest — норма. На «безлимитных 100 Мбит/с» — 80-95 Мбит/с. Резкое падение в часы пик говорит о переподписке.
Можно ли автоматизировать замеры?
Да. Запустите speedtest --format=json по cron каждые 15 минут, складывайте результаты в файл и стройте график через Grafana или простой Python-скрипт. Так видно деградацию канала задолго до жалоб клиентов.
Что выбрать: Ookla CLI или python-версию?
Для сервера в продакшене — официальный Ookla CLI: быстрее, точнее, поддерживается. Для разовых замеров и старых дистрибутивов без свежего apt подойдёт python-версия — она ставится одной командой pip.