Веб-сервер Apache — Что происходит с запросами, когда все рабочие потоки заняты

#apache #queue #request

#apache #очередь #запрос

Вопрос:

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

  1. Они ждут?
  2. Связано ли это с какими-то настраиваемыми параметрами?
  3. Могу ли я получить количество таких запросов?

В дополнение к этому, пожалуйста, не могли бы вы объяснить или дать ссылку, по которой я могу получить четкое представление о стратегии обработки запросов веб-сервером Apache?

Спасибо, что посмотрели!!

Комментарии:

1. Пожалуйста, выберите один из ответов в качестве ответа для вашего потока.

2. Я не думаю, что cbroughton имел в виду случайный

Ответ №1:

Когда все рабочие потоки Apache заняты, новый запрос останавливается (он ожидает), пока один из этих рабочих потоков не станет доступен. Если клиент перестанет ждать или вы превысите максимальное время ожидания в вашем файле конфигурации; это приведет к разрыву соединения.

Комментарии:

1. Дополнение к сообщению от cbroughton: у вас должно быть максимум 500 запросов (это сильно зависит от мощности вашего сервера). Вот ссылка для дальнейшего чтения MaxKeepAliveRequests

2. У меня есть приложение для отправки сообщений, которое отправляет SMS-запросы в apache, я хочу отслеживать, сколько таких запросов ожидают рассмотрения и поставлены в очередь для обслуживания. Чтобы 1) снизить скорость передачи сообщений в отправляющем агенте, 2) увеличить пропускную способность в SMSC.

3. Официальная документация Apache о том, что содержит ответ: здесь .

Ответ №2:

Этот ответ дан в 2015 году. Итак, я рассказываю об apache httpd 2.4.

  1. Они ожидают, потому что соединение находится в очереди на сокете TCP (соединение не подтверждено), Хотя длина невыполненной работы по умолчанию может быть установлена слишком высокой в блоках Linux. Это может привести к закрытию соединений из-за ограничений ядра.
  2. ListenBacklog (с оговорками. Смотрите 1.)
  3. Это описано здесь. С множеством интересных вещей.

Прочитайте Apache TCP Backlog Райана Франца, чтобы получить самые подробные сведения о невыполненной работе Apache.