Блог Маяка

Сколько времени занимает подключение и почему по-разному

Обычно между нажатием кнопки и рабочим соединением проходит около секунды. Иногда — восемь. Изредка — двадцать, и тогда человек успевает решить, что всё сломалось. Мы держим журнал подключений и можем разобрать эти секунды по частям: сколько занимает каждый шаг, из-за чего число прыгает и когда долго — это нормально.

Сколько это занимает на самом деле

Числа ниже — из нашего собственного журнала подключений: приложение записывает каждую попытку выйти в сеть, а не только неудачные. Замер сделан 29 августа 2026 года и охватывает весь журнал — он заведён 21 августа, то есть окно вышло в девять дней, а не в месяц. В нём 366 попыток четырёх живых людей; наши служебные телефоны из выборки вычтены (о них ниже, и это важнее, чем кажется).

Время считается не до значка «подключено», а до подтверждённого выхода: приложение делает через туннель настоящий запрос наружу и ждёт ответа. Пока ответа нет, секундомер тикает.

«Прямая» в таблице — это дорога от телефона прямо до сервера выбранной страны, и у неё две разновидности: по адресу нового образца (IPv6) и по привычному (IPv4). Две нижние строки — запасные дороги до того же самого сервера, к ним приложение прибегает редко.

ДорогаУспешных подключенийМедианаДевять из десяти быстрее
Прямая, IPv6 138 1,09 с 4,27 с
Прямая, IPv4 200 1,34 с 6,79 с
Через Россию 1 12,6 с одно подключение — считать нечего
Резервный канал 5 19,2 с пять подключений: 13,5 · 13,7 · 19,2 · 26,4 · 26,7 с

Медиана — это середина: половина подключений быстрее, половина медленнее. Мы показываем именно её, а не среднее, потому что среднее у таких величин врёт: одно подключение на 286 секунд (было и такое, на старой сборке) поднимает «среднее» всем остальным и создаёт впечатление, которого нет.

Итог по прямой дороге, обе разновидности вместе: 338 подключений, медиана 1,24 с. В две секунды уложились 209 из них, в пять — 300 из 338.

Из чего складываются эти секунды

Приложение засекает не только итог, но и отдельные шаги: спросить у сервера настройки подключения (если их не приготовили заранее), узнать адрес сервера по имени, дождаться вердикта проверки адреса нового образца, поднять туннель на самом телефоне, обменяться рукопожатием и, наконец, убедиться, что наружу и правда есть выход. Вот их серединные значения по тем же прямым подключениям, в том порядке, в каком они происходят. Число замеров у шагов разное: часть из них случается не всегда, а часть сборок ещё не умеет о них сообщать.

ШагМедианаПо скольким подключениям
Настройки от сервера 0,76 с 29
Адрес по имени 0,30 с 50
Проверка IPv6 0,07 с 100
Подъём туннеля 0,06 с 190
Рукопожатие 0,25 с 312
Проверка выхода 0,60 с 213

Сложите три последние строки — получится около девяти десятых секунды, и это ровно то, что чувствует человек в хорошем случае. Обратите внимание на пропорции: собственно криптография (рукопожатие) — четверть секунды, а вдвое дороже неё стоит проверка, что связь настоящая. Мы считаем этот обмен оправданным: значок «подключено» без проверки означает лишь то, что приложение довольно собой.

Почему у одного человека выходит то секунда, то восемь

Разброс на прямой дороге большой: каждое десятое подключение укладывается в 0,74 секунды, и каждое десятое занимает больше 6,79 секунды. Причины, которые видно в журнале, вот такие.

  • Настройки были готовы заранее — или не были. Как только человек выбирает страну в списке, приложение в фоне забирает настройки подключения и держит их наготове. Поэтому шаг «спросить сервер» встретился всего в 29 подключениях из 338 — в остальных всё уже лежало в памяти. Когда он всё-таки случается, он стоит три четверти секунды в середине и до нескольких секунд в худших случаях. Практический вывод простой: страну лучше выбрать до того, как понадобилось подключиться.
  • Первое подключение нового устройства всегда дольше. После того как сервер выдал настройки, ваш телефон должен появиться на выходном сервере как разрешённый собеседник. Раскладка занимает до пятнадцати секунд (замер по нашей инфраструктуре). Это разовая цена: со второго раза место уже готово.
  • Качество сети в этот момент. Рукопожатие — это обмен пакетами туда-обратно, и он стоит ровно столько, сколько сеть везёт пакет. У нас в журнале рукопожатие занимало от 0,25 до 6,2 секунды на одних и тех же серверах.
  • Адрес нового образца, если он у вас есть. По нашим четырём телефонам подключение по IPv6 выходит немного быстрее: медиана 1,09 с против 1,34 с. Разница невелика, а выборка мала — мы называем это наблюдением, а не правилом.
  • Повторное нажатие не ускоряет. Тап по кнопке во время «Подключаюсь…» приложение понимает как отмену, а не как «поторопись». Секунды после этого начинают считаться заново.

Откуда берутся числа в двадцать секунд

Прямая дорога — не единственная: до того же сервера у приложения есть запасные дороги, и в редких случаях оно ими пользуется. Важно понимать, что длинное число берётся не из медлительности запасной дороги, а из сложения ожиданий.

Приложение не гадает, какая дорога рабочая: оно пробует и смотрит на результат. У каждой попытки есть свой срок. Не ответила за отведённое время — переходим к следующей, и потраченное время никуда не девается. Журнал пишет след лестницы прямо строкой, поэтому арифметику видно целиком. Две настоящие записи оттуда:

  • прямая ✗ 6,1 с · РФ ✗ 6,1 с · мост ✓ — итог 13,5 секунды, из которых 12,2 ушло на две попытки, не давшие ответа.
  • IPv6 ✗ 10,3 с · прямая ✗ 7,9 с · РФ ✗ 6,1 с · мост ✓ — итог 26,7 секунды, из которых 24,3 ушло на ожидание.

Само рукопожатие на последней ступени занимало в этих пяти случаях 2,4 секунды в середине: долгой была не она, а дорога до неё. Отсюда и правило, по которому мы выбираем сроки ожидания: слишком короткий срок — и приложение уйдёт с работающей дороги из-за одного потерянного пакета; слишком длинный — и человек будет смотреть на «Подключаюсь…» дольше, чем нужно. Сейчас неотвеченная попытка стоит около шести секунд — это видно и в следе выше.

У последней ступени сроков нет вовсе: если предыдущие не вышли, торопиться уже некуда, и приложение терпеливо ждёт те самые пятнадцать секунд, за которые новое устройство раскладывается на сервере. Лучше подключиться на двадцатой секунде, чем не подключиться совсем.

Как устроена сама лестница и что означают пометки «Напрямую», «Через Россию» и «Резерв», мы разбирали отдельно — в статье «Одна кнопка, три пути: как Маяк подключается».

Коротко: секунда — это одна удачная попытка. Двадцать секунд — это три попытки подряд, из которых удалась последняя. Ни в том, ни в другом случае приложение не «задумалось»: оно всё это время работало.

Почему наши числа больше, чем у соседей

Если сравнить нашу медиану с рекламными обещаниями других сервисов, мы будем выглядеть медленнее. Причина не в скорости, а в том, что считать концом подключения. Есть три разных момента, и разница между ними — почти секунда:

  1. туннель поднят на телефоне — 0,06 с;
  2. рукопожатие с сервером прошло — плюс 0,25 с;
  3. наружу ушёл настоящий запрос и вернулся ответ — плюс ещё 0,60 с.

Мы останавливаем секундомер на третьем, потому что первые два человеку ничего не обещают: туннель, по которому не идёт трафик, поднимается ровно так же быстро, как рабочий. Число от этого выходит больше, зато оно означает то, что написано.

Чего эти числа не говорят

Это самая важная часть, и мы предпочитаем сказать её сами.

  • Это не «статистика пользователей». Четыре человека, 366 попыток, девять дней. Такой выборкой можно объяснять устройство, но нельзя обещать «у вас будет столько же».
  • Служебные телефоны вычтены — и без этого картина другая. Из 16 учётных записей в нашей базе 11 наши собственные, и подключаются они чаще живых людей. Если их не вычитать, у ближнего входа в России получается солидное «медиана 10,81 секунды по 30 подключениям» — тогда как у живых людей такое подключение за девять дней ровно одно. Мы уже дважды ловили себя на замере, в котором собственные машины изображали посетителей, и с тех пор вычитаем их по отдельному признаку в базе, а не на глазок.
  • Нижние ступени — это единичные случаи, а не статистика. Одно подключение и пять подключений. Мы называем их числом штук и перечисляем поимённо вместо того, чтобы выводить из них проценты.
  • Журнал моложе месяца. Он заведён 21 августа 2026 года, и «за 30 дней» тут означало бы просто «за всё время». Через месяц у этих же строк будет другой вес.
  • 22 попытки из 366 не завершились подключением ни по одной дороге. Это шесть процентов, и мы их не прячем: цифра честнее круглой единицы.

Если вам интересно проверить своё соединение самостоятельно — у нас есть отдельный разбор «Как проверить, что соединение действительно защищено»: четыре проверки за минуту, без веры на слово.

Попробовать Маяк

Секунда до рабочего соединения в обычном случае, честная пометка пути на экране и проверка настоящего выхода вместо значка «подключено». 7 дней бесплатно, карта не нужна.

Аккаунт заводится прямо в приложении. Доступ открывает подтверждённая почта — 7 дней бесплатно.