apache prefork/mod_wsgi 生成超出配置范围的进程

apache prefork/mod_wsgi 生成超出配置范围的进程

在运行 nginx 的生产环境中,回退到 apache mpm-prefork/mod_wsgi,我看到90apache 子进程,我预计最大值是 40,配置如下。配置/设置没什么令人兴奋的:

  1. nginx 通过 反向代理到 apache proxy_pass,并提供静态媒体服务
  2. apache 仅处理动态请求

相关 nginx 配置:

worker_processes 15;

events {
    worker_connections  1024;
}

keepalive_timeout 10;

相关 apache 配置:

KeepAlive Off
MaxKeepAliveRequests 100 
KeepAliveTimeout 15

<IfModule mpm_prefork_module>
    StartServers        20
    MinSpareServers     7      
    MaxSpareServers     10
    MaxClients          200
    MaxRequestsPerChild 0
</IfModule>

mod_wsgi 配置,其中webapp是进程的名称:

WSGIDaemonProcess webapp user=www group=users threads=1 processes=40

我遗漏了什么吗?

答案1

我认为 Graham Dumpleton 可能最近在他的博客中回答了你的问题

编辑

我想我应该指出他的博客文章主要是关于 mod_python 的,但我认为他对 prefork 如何工作的解释可能会让你了解额外进程的来源。

相关内容