к.э.н. Лавлинский Николай Евгеньевич, технический директор ООО «Метод Лаб»
Мы уже много лет профессионально занимаемся ускорением сайтов, поэтому должны проводить оценку скорости загрузки страниц в наиболее реалистичных условиях. Вот здесь и нужно понять, какие на самом деле скорости подключения в России для различных типов связи (проводная, wi-fi, мобильные сети). Используя эти данные, можно тестировать скорость сайтов в таких же условиях, какие имеет типичный пользователь сайта.
Для начала посмотрим, какие есть характеристики подключения к Интернету.
Самый известный параметр — пропускная способность, измеряется в мегабитах в секунду (Мбит/c). Это максимальное количество информации, которую может передать канал за одну секунду. При этом важно не путать мегабиты с мегабайтами, разница будет более 8 раз.
Если копнуть глубже, то можно встретить гарантированную и негарантированную пропускные способности. Когда речь заходит о каналах конечных пользователей, в подавляющем большинстве случаев это негарантированная пропускная способность. То есть, имея канал с тарифом 100 Мбит/с мы можем рассчитывать на эту пропускную способность как на максимальную, но она в любой момент времени может быть меньше, минимальный порог тарифом не оговаривается. Естественно, что предоставлять негарантированный канал дешевле и это не является проблемой для пользователей, кроме моментов пиковой нагрузки.
Гарантированный канал позволяет рассчитывать на полную пропускную возможность в любой момент. Такой вариант подключения обычно используется в дата-центрах при аренде серверов или места в стойке. За гарантии нужно платить, стоит такой канал на порядок больше, чем негарантированный.
Характеристика подключения по задержкам для оценки сайтов намного важнее, чем по пропускной способности. Задержки в сети измеряются параметром RTT (round trip time), то есть временем прохождения сигнала до сервера и обратно. Это значение можно увидеть в результатах работы программы ping (поэтому RTT часто называют «пингом»).
Итоговая задержка между клиентом и сервером состоит из задержки канала пользователя, задержки на магистральных каналах и задержки в сети сервера. Задержка на стороне пользователя зависит от типа подключения, магистральная задержка — от географической удалённости сервера и конкретного маршрута между провайдерами клиента и сервера.
Задержки в сети измеряются миллисекундами, типичные значения для каналов пользователя:
Географическое удаление добавляет свои ограничения из-за скорости света (200 000 км/с). Получаем 1 мс на каждые 200 км линии. Кроме того, магистральные задержки увеличиваются за счет промежуточного оборудования (это могут быть десятки устройств).
В идеальном мире сети доставляют абсолютно все пакеты принимающей стороне без искажений. В реальности, протокол IP, который лежит в основе функционирования Интернет оперирует пакетами, которые могут быть потеряны по дороге. Проблема состоит в том, что в проводных сетях потери пакетов из-за физических причин (испорчен сигнал, нет связи) достаточно редки, поэтому в большинстве алгоритмов протокола TCP (congestion control) потеря пакетов воспринимается как сигнал о перегрузке линии и к снижению скорости передачи данных. Распространение беспроводных сетей поставило эффективность этих алгоритмов под сомнение, так как потеря пакетов может быть связана с обычными помехами при передаче радиосигнала. Указанная проблема сейчас находится в стадии решения, однако внедрение новых алгоритмов может занять многие годы.
Потери пакетов измеряются в процентах. Как мы говорили выше, нормальное значение — 0%. Как только потери пакетов увеличиваются до целых процентов, пропускная способность резко сокращается. Например, при потерях в 2% пропускная способность падает от 6 до 25 раз.
Для того, чтобы понять ситуацию с доступом в Интернет в России, мы собрали данные из различных компетентных источников: доклады Яндекса, Одноклассников и отчет компании Akamai. По поводу последней можно сказать, что эта сеть CDN имеет присутствие в России и данным можно доверять.
В целом Россия имеет неплохие показатели по скорости доступа среди европейских стран. По данным отчета Akamai за 2017 год, мы находимся на 24 месте в Европе и 44 месте в глобальном рейтинге по средней пропускной способности — 11,8 Мбит/с. По пиковым значениям это 15 место в Европе и 38 глобально — 69,3 Мбит/с. Для мобильных пользователей приводится средняя скорость в 9,9 Мбит/с (для сравнения в США — 10,7 Мбит/с).
По данным отчета Speedtest.net за первый квартал 2018 года, показатели России достаточно высоки для широкополосного доступа и средние по мобильному Интернету:
Нужно отметить, что данные сервиса Speedtest.net учитывают пиковые значения пропускной способности, поэтому их стоит воспринимать как оптимистичные оценки. Реальные значения эффективной полосы можно узнать из статистики контент-провайдеров.
По данным сети «Одноклассники» (ok.ru) в России такие средние показатели мобильного интернета:
Как видно, показатели гораздо скромнее маркетинговых лозунгов сотовых сетей.
Данные из сервиса поиска Яндекса добавляют ясности в задержки в мобильных сетях (медиана):
А теперь самое главное — что можно понять из приведённых данных и как их можно использовать.
Во-первых, скорости в мобильных сетях всё еще сильно отстают от проводных. В первую очередь, работе веба мешают потери пакетов и задержки.
Во-вторых, при тестировании скорости сайта нужно ориентироваться на мобильную аудиторию, так как они прежде всего столкнутся с проблемами скорости.
В-третьих, можно ответить на вопрос: как правильно тестировать скорость загрузки сайта. Универсальным вариантом здесь будет эмуляция 3G сети, например параметры профиля 3G Fast из WebPagetest: 1,6 Мбит/с, 150 мс RTT. Если ваша аудитория часто пользуется сайтом в сложных условиях связи (например, в дороге или загруженных точках доступа) можно добавить профиль тестирования уровня 2G — 0,2 Мбит/с, 1000 мс RTT и потери пакетов около 2%.