Сервисы под высокие нагрузки
Выдержит наплыв: распродажи, розыгрыши, запуск рекламы на миллионы охвата, пик заказов.
Сервис под высокую нагрузку считают от пика: если за 10 минут приходит дневная пачка заказов, лишние запросы должны встать в очередь, а не уронить оплату. Как разрабатывают сервис под высокую нагрузку без этого числа, не знает никто: нечего тестировать. Контур с кэшем, очередью, копиями и прогоном на копии занимает 1–3 месяца и стоит от 500 000 до 2 000 000 ₽. Более мощный сервер без очереди падает так же. Ниже, что считать пиком, как устроен тест ступенями и когда такой контур ещё рано. Сервисы под высокие нагрузки у нас стоят от 500 000 ₽, облачные счета за машины в эту сумму не входят.

Сервис под высокую нагрузку разрабатывают от пика, а не от среднего дня: кэш, очередь, тест и дежурство закладывают до запуска.
Как разрабатывают сервис под высокую нагрузку, видно по одному вопросу. Что случится, если за 10 минут придёт столько заказов, сколько обычно за день. Если ответ «сервер ляжет», архитектуры ещё нет. Если ответ «лишние запросы встанут в очередь, а человек увидит честный статус», контур уже думает о пике.
Такие работы занимают 1–3 месяца и стоят от 500 000 до 2 000 000 ₽. Это не «купить сервер помощнее». Более мощная машина без очереди и кэша падает так же, только дороже.
Персональные данные в очередях и журналах закрывает закон № 152-ФЗ (КонсультантПлюс). В лог пика не кладут паспорт и телефон целиком.
Пик — это короткий всплеск, который нельзя пережить «добавим памяти утром». Шум — обычный день.

Распродажа, розыгрыш, старт рекламы и час, когда открывается запись, — пики. Ночной отчёт — нет. Для оценки нужны три числа: обычные запросы в минуту, пик, и сколько секунд человек готов ждать. Без этих трёх чисел тест нечего с чем сравнивать.
Если пика нет и не предвидится, высоконагруженный контур рано. Обычный сервис дешевле. Переписывать спокойный кабинет «на вырост» без сценария пика — способ потратить квартал.
Устойчивость складывается из кэша, очереди, нескольких копий приложения и теста, который это ломает заранее.
Пять частей пика
Очередь важнее красивого масштабирования. Человек может подождать 2–5 секунд статус «принимаем заказ». Он не может получить двойное списание. Поэтому платёж и остаток проверяют отдельно от витрины, которая может чуть устареть.
Состав работ описан на странице сервисов под высокие нагрузки. Рядом часто стоит свой API-сервис, если пик бьёт не в страницу, а в обмен. Отдельный прогон уже после запуска — это нагрузочное тестирование, его не путают с архитектурой до старта. Если пик у продукта по подписке, смотрите ещё онлайн-сервис по подписке: там падает оплата продления, не витрина.
Тест повторяет сценарий пика на копии и смотрит, где кончилась скорость, а не «выдержало или нет» одной фразой.
Тест на пустой базе врёт: там нет тяжёлых заказов. Берут срез, похожий на боевой, без настоящих карт клиентов. Рекламу включают после повтора, не вместо него.
Один повтор занимает часы, не неделю. Зато он показывает, не сломала ли правка соседний шаг. Без этого шага команда празднует скорость главной и узнаёт про оплату от клиентов.
Полный контур под пик стоит от 500 000 ₽ и занимает 1–3 месяца. Точечная переработка одного узкого места может быть короче, но только после теста.
| Работа | Срок | Цена |
|---|---|---|
| Оценка пика и архитектура | 1–2 недели | внутри вилки от 500 000 ₽ |
| Кэш, очередь, копии, тест | 1–3 месяца | от 500 000 до 2 000 000 ₽ |
| Свой API рядом | 3–6 недель | от 150 000 до 500 000 ₽ |
| Дежурство в день пика | отдельная договорённость | не прячется в разработку |
Железо и облачные счета платит заказчик. В цене работ их нет. Вилки — на странице цен.
| Ситуация | Что честнее |
|---|---|
| Пика нет, пользователей десятки | Обычный сервис, не контур нагрузки |
| Реклама на широкий охват уже куплена | Тест до включения, даже если больно по сроку |
| Падает только оплата | Чинют оплату, не переписывают всё |
Пик считают от рекламы и от обычного часа, а не от числа товаров в каталоге.
Пусть обычный час — 100 заказов. Реклама обещает в 10 раз больше на 15 минут. Это 1 000 заказов за час в пересчёте, но сжатых в четверть часа, то есть около 250 попыток оплаты за 15 минут. Если каждая попытка без очереди держит соединение 2 секунды, 250 попыток одновременно сервис не переживёт, даже если за день 1 000 заказов выглядят скромно.
Десять тысяч товаров тут почти ни при чём: тяжёлой становится оплата и остаток, не сетка каталога. Кэш каталога дёшев. Очередь на оплату обязательна. Цифры 100, 10 и 15 минут — учебный пример. Свой пик берётся из прошлого запуска или из медиаплана, не из статьи.
Мы каждый день держим кабинет стройки: 170 человек и 65 сервисов, и это не рекламный пик на миллион просмотров.
Кейс кабинета для стройки честно другого масштаба, чем распродажа. Там нет обещания «выдержит любой наплыв». Там 170 сотрудников, 4 базы 1С и ежедневная работа: пропуска, сметы, документы. Урок для высокого пика отсюда узкий. Система, которой пользуются каждый день, падает заметно сразу. Поэтому узкое место ищут до объявления, а не по звонкам пользователей.
Публичный текст не содержит результатов нагрузочного теста, и я их не выдумаю. Не переносите 170 человек в расчёт вашей рекламы. Перенесите привычку: назвать пик числом и прогнать его на копии.
Если пользователей десятки и пика нет, этот кабинет как аргумент «нам нужен высоконагруженный контур» не работает. Он аргумент в пользу наблюдаемости, не в пользу лишней архитектуры.
В минуту включения всплывают тест только главной страницы, оплата без очереди и отсутствие человека на связи.
План на пике — одна страница: кого звать, что выключить первым, какой статус показать человеку. Без страницы дежурство превращается в чат.
Контур принимают, если обещанный пик на копии прошёл повторно и оплата не двоилась.
Три проверки перед включением
Смотрят не среднюю скорость за час, а худшие секунды. Если 5 процентов попыток ждали дольше 5 секунд или получили ошибку, пик не сдан, даже если остальные прошли быстро. Эти 5 процентов как раз и есть люди, которые уйдут и напишут.
До оценки нужны обычный час, ожидаемый пик и сценарий, который нельзя потерять.
Пять пунктов попадают в вилку 1–3 месяца и от 500 000 ₽ либо в отказ, если пика нет. Отказ здесь дешевле архитектуры «на всякий случай». Облачный счёт за серверы посчитайте отдельно: в работы он не входит.
Сначала называют пик числом, потом ставят кэш и очередь, потом гоняют сценарий заказа на копии ступенями до пика и ещё на 30 процентов выше. Рекламу включают после повторного прогона. Срок такого контура — 1–3 месяца.
Мощный сервер откладывает падение, но не разделяет витрину и оплату. Очередь позволяет лишнему заказу подождать, а не уронить списание. Кэш снимает повторные чтения. Без теста обе меры остаются догадкой.
Оценка и схема — 1–2 недели, кэш, очередь, копии и тест — внутри 1–3 месяцев. Если узкое место одно и уже известно, не обязательно переписывать весь сервис. Цена полного контура начинается от 500 000 ₽.
Путь заказа: каталог, корзина, оплата, статус. Главная часто и так быстрая. Падает то, где пишут в базу и говорят с банком. Тест на пустой базе без заказов этот путь не показывает.
Ненадолго и с ясной границей. Витрина может отставать на десятки секунд. Оплата и резерв должны видеть свежий остаток, иначе две покупки заберут одну штуку. Это разные правила, их нельзя смешать в один кэш.
Заказчик, облачным счетам. В цене работ от 500 000 до 2 000 000 ₽ железа и облака нет. Дежурство в день пика тоже лучше назвать отдельно, иначе в час старта неясно, кто на связи.
Когда пользователей десятки, пика от рекламы нет и падений не было. Тогда обычного сервиса достаточно. Архитектуру под миллион просмотров без сценария пика строить рано.
Повторный прогон обещанного пика плюс 30 процентов, без двойных оплат, и назначенный дежурный с планом на одну страницу. Фраза «на тесте вроде держалось» сдачей не является.
Выдержит наплыв: распродажи, розыгрыши, запуск рекламы на миллионы охвата, пик заказов.
Партнёры, клиенты и ваши приложения получают доступ к данным и функциям по правилам: ключи, тарифы, лимиты, документация, журнал.
Проверяем, выдержит ли сайт или сервис наплыв посетителей до запуска рекламы, распродажи или эфира: моделируем реальные сценарии, находим…
Готовый бизнес-продукт: личные кабинеты, тарифы, приём платежей и автопродление, командные аккаунты, панель администратора, документы.
Эту тему также ищут как: «как разрабатывают сервис под высокую нагрузку», «чем очередь отличается от мощного сервера», «как провести нагрузочный тест», «сколько длится подготовка к пику», «когда высоконагруженный контур рано», «что принять перед включением рекламы»