Как разработчик python я имел некоторое представление о том, как работает mod_wsgi, то есть о том, что он запускает новый процесс python с каждым запросом. Это не значит, что новый процесс httpd, скорее, единственный процесс httpd, выполняющий что-то вроде
python /path/to/my/wsgi.py <param> <param>
Насколько я понимаю, режим демона заключается в том, что если process = 1 (по умолчанию), для обработки запроса используется один процесс с 15 потоками. Но что происходит с процессом httpd, когда запрос обслуживается?
Более важный вопрос здесь в том, что в моих журналах я вижу до 30 процессов httpd, потребляющих более 3G памяти. На что это может указывать? Запросы с кодом, который никогда не завершался? apache обрабатывает запрос и не выполняет его?
редактировать
Я ps aux'd httpd нашел около 22 процессов. Когда я strace'd, большинство из них просто ждали, но один продолжает печатать следующее, снова и снова:
select(0, NULL, NULL, NULL, {1, 0}) = 0 (Timeout)
wait4(-1, 0x7fff9d6990ec, WNOHANG|WSTOPPED, NULL) = 0
Что мне кажется похожим на SQL?
Это было неправильное понимание конфигурации apache. Я сделал предположение, что mod_wsgi работает как демон, когда он работал во встроенном режиме. В разделе apache worker.c установлено количество процессов 8 с расширением 25, и поэтому было так много резервных процессов.