Методология измерения скорости соединения в Яндекс Интернетометре
В Яндекс Интернетометре сценарий измерения входящей и исходящей скорости соединения состоит из двух этапов:
-
Выбор серверов, через которые клиент будет производить замер скоростей.
Все замеры скоростей соединений выполняются через сервис Яндекс CDN, серверы которого размещены по всей России, а также в других странах.
Выбор серверов осуществляется на основе комплексного анализа следующих параметров:
- сетевых метрик связности, которые формируются на базе данных протокола BGP;
- внутреннего ранжирования локаций;
- IP‑адреса пользователя;
- текущей загрузки CDN‑серверов.
В результате формируется набор из 1–3 серверов, которые, согласно алгоритмам Яндекс CDN, обеспечивают оптимальное обслуживание конкретного пользователя.
-
Замер скорости.
Через выбранные ранее серверы замеряются следующие параметры:
-
Скорость входящего соединения.
Алгоритм измерения:
- Выбираются три ближайших CDN-сервера.
- С выбранных серверов одновременно загружаются данные.
- Каждые 100 мс измеряется общий объем полученных данных со всех трех серверов за этот интервал.
- Скорость передачи рассчитывается как скользящее среднее на основе суммарных значений.
-
Скорость исходящего соединения.
Алгоритм измерения аналогичен измерению скорости входящего соединения. Для замеров используются те же серверы.
-
Задержка.
Для оценки задержки используется показатель TTFB.
Алгоритм измерения:
- Проводятся замеры на уже установленных сессиях уровней
TCP,TLS,HTTP. - Проводится многократная загрузка небольших файлов (размер подбирается так, чтобы минимизировать влияние пропускной способности канала и акцентировать измерение на задержке).
- Для каждого теста фиксируется значение TTFB. Учитываются результаты предыдущих замеров скорости.
- Из совокупности замеров выбирается наименьшее значение TTFB, которое и представляется как итоговый показатель задержки.
- Проводятся замеры на уже установленных сессиях уровней
-
Неочевидные аспекты процесса измерений и выбора сервера
- Если ближайший к пользователю сервер перегружен, система может отдать предпочтение другому узлу.
- Если клиент поддерживает оба протокола (IPv4 и IPv6), замеры и последующая маршрутизация выполняются через IPv6.
- Скорость 20 Мбит/с считается оптимальной для потоковой передачи видео в разрешении 4K (при стандартных параметрах кодирования).
Time to First Byte — время от отправки HTTP‑запроса до получения первых заголовков ответа.