Почему ссылка может «положить» небольшой сайт

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

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

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

Особенно трудно выдержать короткий всплеск, потому что систему обычно настраивают под привычный поток посетителей. Держать постоянно свободную мощность на случай редкого пика дорого, а быстро добавить ресурсы удаётся не каждому сайту.

Как смягчают всплески

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

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