Назад | Перейти на главную страницу

Как слишком много запросов приводит к сбою сервера?

Мне интересно, почему сайты вообще падают.

Если у сервера слишком много запросов, он может поставить запрос в очередь в своих списках ожидания и обслужить его, когда все предыдущие запросы будут обработаны. Это означает, что запрос на веб-сайт будет обработан, хотя это может занять больше времени, чем ожидалось.

Тогда как же сайты падают из-за перегрузки сервера?

Веб-сайты не «падают».

Веб-серверы настроены на прекращение приема новых посетителей, если количество запросов в очереди запросов превышает заранее определенное количество. Когда этот предел достигнут, сообщение об ошибке отображается.

503 Сервис недоступен

В настоящее время сервер не может обработать запрос из-за временной перегрузки или обслуживания сервера. Подразумевается, что это временное состояние, которое улучшится после некоторой задержки. Если известно, продолжительность задержки МОЖЕТ быть указана в заголовке Retry-After. Если Retry-After не задан, клиент ДОЛЖЕН обработать ответ так же, как и для ответа 500.

  Note: The existence of the 503 status code does not imply that a
  server must use it when becoming overloaded. Some servers may wish
  to simply refuse the connection.

В очень простом сценарии список ожидания может заполниться, а сервер настолько занят обработкой / игнорированием новых запросов, что может эффективно обрабатывать запросы в очереди.

Взгляни на http://en.wikipedia.org/wiki/Denial-of-service_attack

Много способов:

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