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

MOD_WSGI Daemon Mode несколько зависших процессов httpd

Как разработчик 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, и поэтому было так много резервных процессов.