Коротко
- Половина времени входа терялась не в сети, а в ожиданиях между шагами.
- Мы полностью убрали три шага: лишний запрос, второй редирект и промежуточную страницу.
- Результат: в среднем 840 мс — пользователь уже не чувствует загрузку.
От входа по QR пользователь ждёт одного: отсканировал — вошёл. Каждые сто миллисекунд ожидания это ощущение ломают. Поэтому мы измерили весь путь от начала до конца.
Где теряется время
Результат измерений оказался неожиданным: основная потеря была не в сетевой задержке, а в ожидании между шагами. Каждый шаг сам по себе быстрый, но они выполнялись последовательно, и общее время накапливалось.
- Создание сессии: 90 мс.
- Проверка кода: 120 мс.
- Дополнительный запрос профиля: 210 мс — и он был не нужен.
- Два редиректа: 380 мс.
Что убрали
Данные профиля уже приходили в ответе на проверку — запрашивать их вторым вызовом было незачем. Второй редирект оказался историческим наследием: в старом потоке промежуточная страница была нужна, в новом — нет.
1.6s
Было (в среднем)
840ms
Стало (в среднем)
−3
Убранных шага
p95
Ниже 1.4s
Ускорение — это чаще не новая оптимизация, а найденный и удалённый лишний шаг.
Результат и следующий шаг
Сейчас среднее время — 840 мс, p95 ниже 1.4 секунды. Следующая цель — готовить сессию заранее, пока пользователь наводит камеру, то есть открывать соединение до старта проверки.