Скин на НГ, перетяжка
Скин на НГ, перетяжка
Скин на НГ, перетяжка

Замеряем скорость сети без рекламы и bloatware

Чем плох Speedtest и зачем поднимать свой узел (или использовать правильные)

104 открытий2К показов
Замеряем скорость сети без рекламы и bloatware

В жизни любого сисадмина, эникейщика или даже продвинутого пользователя наступает момент «А почему так медленно?». Обычно сценарий один: юзер жалуется на тормоза, вы просите скриншот спидтеста, он идет на всем известный сайт с синим логотипом, ждет загрузки тонны баннеров, и получает цифры, которые… часто не имеют ничего общего с реальностью.

Сегодня поговорим о том, почему измерять скорость канала тяжелыми веб-приложениями — плохая идея, как работают HTML5-тесты и как за 5 минут развернуть свой openspeedtest (или где найти готовый без лишнего мусора).

Проблема «большого брата» (Ookla и аналоги)

Не поймите неправильно, Ookla — мировой стандарт индустрии. Однако в РФ сервис теперь фактически под запретом (блокировки, ограничения для провайдеров), да и для быстрой диагностики он подходит всё меньше по техническим причинам:

  1. Overhead. Современные веб-версии популярных спидтестов перегружены рекламой, трекерами и анимациями. На старом офисном ноутбуке или дешевом смартфоне процессор может загрузиться рендерингом баннеров на 100% раньше, чем канал упрется в полку. В итоге вы измеряете производительность браузера, а не сети.
  2. Выбор сервера. Автоматический выбор не всегда оптимален, а ручной требует времени.
  3. Невозможность теста в LAN. Если вам нужно протестировать скорость Wi-Fi между роутером и ноутбуком (исключив провайдера), публичные сервисы бесполезны. Трафик уйдет в интернет и вернется обратно.

HTML5 и чистота эксперимента

Идеальный инструмент для замера пропускной способности должен быть:

  • Легким (минимум JS-обвязки).
  • Кроссплатформенным (работает в любом браузере, от Chrome до утюга со SmartTV).
  • Без установки приложений (агенты iperf — это круто, но объяснять бухгалтеру, как открыть консоль, — нет).

Как один из вариантов, OpenSpeedTest. Это open-source проект, который использует чистый HTML5, XMLHttpRequest (XHR) и встроенные возможности браузера для генерации трафика. Никакого Flash (R.I.P.) или Java.

Суть проста: браузер скачивает и выгружает “мусорные” бинарные данные (blobs) разного размера, замеряя время отклика.

Почему это норм

Вы получаете чистый замер HTTP/HTTPS трафика. Так как большинство контента в сети мы потребляем именно через браузер, этот тест показывает наиболее приближенную к “ощущениям пользователя” картину.

Вариант 1: Self-Hosted (для админов)

Если вы обслуживаете офис или хотите проверить скорость Wi-Fi дома без влияния провайдера, лучшее решение — поднять свой сервер.

Если у вас есть Docker, это делается в одну строку:

			docker run --restart=unless-stopped --name openspeedtest -d -p 3000:3000 openspeedtest/latest
		

Всё. Теперь переходим по

			http://IP-вашего-сервера:3000
		

и тестируем скорость локальной сети. Это незаменимо при настройке бесшовного Wi-Fi роуминга или проверке обжима кабелей.

Что можно проверить:

  • Реальную скорость Wi-Fi в дальней комнате.
  • Пропускную способность VPN-туннеля между офисами (поднимаем контейнер в одном офисе, тестируем из другого).
  • Нагрузку на маршрутизатор при чистом потоке данных.

Вариант 2: Независимые сервисы (без рекламы)

Не всегда есть под рукой Docker, а скинуть ссылку клиенту или другу нужно быстро. Использовать стандартные “тяжелые” сайты не хочется по причинам, описанным выше.

Здесь на помощь приходят самостоятельные проекты, которые позиционируют себя как прямые конкуренты Speedtest, но без его недостатков. Для РФ основным таким игроком сейчас является openspeedtest.ru.

Это полноценный независимый сервис, работающий на тех же принципах чистого HTML5, что и Docker-версия, но с собственной инфраструктурой.

В чем профит по сравнению с гигантами:

  1. Интерфейс: Вы видите только кнопку “Start”. Никакой видеорекламы на фоне, которая отжирает канал.
  2. Совместимость: Отлично работает на SmartTV (через встроенный браузер), игровых консолях (PlayStation/Xbox) и старых планшетах, где приложения “спидтестов” уже не обновляются.
  3. Честность: Тест идет по HTTPS, имитируя обычную загрузку файла. Провайдеры часто выставляют приоритет для трафика на известные серверы спидтестов (чтобы цифры в тарифе сходились), но трафик на независимые узлы шейпится как обычно. Это дает шанс увидеть реальную картину.

Нюансы и ограничения

Ради объективности стоит сказать, что у браузерных тестов есть потолок.

  • Ограничение браузера: Движок JS в браузере не всесилен. Если у вас гигабитный канал, а компьютер слабый, вы можете увидеть 600-700 Мбит/с просто потому, что браузер не успевает обрабатывать поток данных.
  • HTTPS Overhead: Шифрование тоже требует ресурсов CPU.

Однако для скоростей до 500 Мбит/с (абсолютное большинство домашних и офисных тарифов) погрешность минимальна.

Итого

Если нужно проверить, не “лагает” ли локалка — поднимайте Docker-контейнер OpenSpeedTest локально. Если нужно быстро проверить интернет, не пугая пользователя сложными интерфейсами и не убивая его старенький ноутбук рекламой — используйте легкие независимые сервисы вроде openspeedtest.ru или fast.com (хотя последний завязан на CDN Netflix, что в наших реалиях может давать странные маршруты).

Главное правило диагностики: чем проще инструмент, тем меньше вероятность, что он сам станет причиной проблемы.

Следите за новыми постами
Следите за новыми постами по любимым темам
104 открытий2К показов