Рейтинг:0

Почему общее количество потоков Apache2 больше, чем MaxRequestWorkers

флаг gb

Недавно я перевел свой mpm с perfork на event (а также mod_php (php7.0) на php-fpm (proxy_fgi)) Я оценил, что моя максимальная нагрузка на одновременные соединения составляет около 300. Поэтому я установил следующую конфигурацию в mpm_event.conf.

Стартовые серверы 5
Минспаретредс 25
Максспаретредс 75
ThreadLimit 64
ThreadsPerChild 35
Максрекуестворкерс 350
MaxConnectionsPerChild 0

Теперь я вижу какое-то странное поведение, когда наблюдаю за процессом apache2 и общим количеством потоков с помощью ps

Обычно у меня около 12-13 процессов apache2 (PS вспомогательный | grep апач2 | туалет -л). Считая одного родителем... так это около 10-11 детей. Далее, если я увижу общее количество потоков от apache2 с

ps -o nlwp $(pidof apache2) | хвост -n +2 | awk '{ num_threads += $1 } END { print num_threads }'

Я давно наблюдаю за потоками 408. Итак, мои вопросы:

  • как возможно, что общее количество потоков превышает MaxRequestWorkers (350)
  • как возможно, что общее количество дочерних процессов превышает StartServers (5)
  • Чем обоснован код 408? (12*34?) и достигает ли лимит моего трафика?

заранее спасибо за помощь

Рейтинг:0
флаг in

Я наблюдаю подобное поведение. По умолчанию MaxRequestWorkers 150, я добираюсь до 301 потока, т.е. 1 родительский и 2 * потока MaxRequestWorkers.

Я проверил это, установив для MaxRequestWorkers значение 40, и я достиг 81.

Может ли кто-нибудь подтвердить это поведение Apache?

P.S. Я использую Apache2 как префорк, т.е. ThreadLimit и ThreadsPerChild не используются ИМХО.

флаг ph
Это на самом деле не отвечает на вопрос. Если у вас есть другой вопрос, вы можете задать его, нажав [Задать вопрос](https://serverfault.com/questions/ask). Чтобы получать уведомления, когда на этот вопрос будут получены новые ответы, вы можете [подписаться на этот вопрос](https://meta.stackexchange.com/q/345661). Как только у вас будет достаточно [репутации](https://serverfault.com/help/whats-reputation), вы также можете [добавить вознаграждение](https://serverfault.com/help/привилегии/set-bounties) для розыгрыша больше внимания этому вопросу. – [Из обзора](/review/late-answers/512409)
флаг in
Я говорю о том, что у меня есть подозрение, что количество потоков достигает 2 * MaxRequestWorkers + 1 (родительский поток). Каждый клиентский запрос разветвляет другой поток, вероятно, из-за использования php. Поскольку я использую Apache в режиме prefork, я не могу быть уверен, что то же самое верно и для события MPM.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.