Почему приложение перестаёт отвечать при наплыве посетителей

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

Где возникает узкое место

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

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

Что помогает пережить пик

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

Именно поэтому при внезапном наплыве людей сервис может «упасть» не потому, что интернет исчез, а потому что очередь запросов растёт быстрее, чем инфраструктура успевает отвечать.