Методология измерения скорости соединения в Яндекс Интернетометре

В Яндекс Интернетометре сценарий измерения входящей и исходящей скорости соединения состоит из двух этапов:

  1. Выбор серверов, через которые клиент будет производить замер скоростей.

    Все замеры скоростей соединений выполняются через сервис Яндекс CDN, серверы которого размещены по всей России, а также в других странах.

    Выбор серверов осуществляется на основе комплексного анализа следующих параметров:

    • сетевых метрик связности, которые формируются на базе данных протокола BGP;
    • внутреннего ранжирования локаций;
    • IP‑адреса пользователя;
    • текущей загрузки CDN‑серверов.

    В результате формируется набор из 1–3 серверов, которые, согласно алгоритмам Яндекс CDN, обеспечивают оптимальное обслуживание конкретного пользователя.

  2. Замер скорости.

    Через выбранные ранее серверы замеряются следующие параметры:

    • Скорость входящего соединения.

      Алгоритм измерения:

      1. Выбираются три ближайших CDN-сервера.
      2. С выбранных серверов одновременно загружаются данные.
      3. Каждые 100 мс измеряется общий объем полученных данных со всех трех серверов за этот интервал.
      4. Скорость передачи рассчитывается как скользящее среднее на основе суммарных значений.
    • Скорость исходящего соединения.

      Алгоритм измерения аналогичен измерению скорости входящего соединения. Для замеров используются те же серверы.

    • Задержка.

      Для оценки задержки используется показатель TTFB.

      Алгоритм измерения:

      1. Проводятся замеры на уже установленных сессиях уровней TCP, TLS, HTTP.
      2. Проводится многократная загрузка небольших файлов (размер подбирается так, чтобы минимизировать влияние пропускной способности канала и акцентировать измерение на задержке).
      3. Для каждого теста фиксируется значение TTFB. Учитываются результаты предыдущих замеров скорости.
      4. Из совокупности замеров выбирается наименьшее значение TTFB, которое и представляется как итоговый показатель задержки.

Неочевидные аспекты процесса измерений и выбора сервера

  • Если ближайший к пользователю сервер перегружен, система может отдать предпочтение другому узлу.
  • Если клиент поддерживает оба протокола (IPv4 и IPv6), замеры и последующая маршрутизация выполняются через IPv6.
  • Скорость 20 Мбит/с считается оптимальной для потоковой передачи видео в разрешении 4K (при стандартных параметрах кодирования).

Time to First Byte — время от отправки HTTP‑запроса до получения первых заголовков ответа.