【问题标题】:apache prefork/mod_wsgi spawned process count seemingly past configuration [closed]apache prefork/mod_wsgi 产生的进程计数看似过去的配置[关闭]
【发布时间】:2009-05-27 02:09:00
【问题描述】:

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

  1. nginx 正在通过proxy_pass 反向代理到 apache,并提供静态媒体
  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

我错过了什么吗?

【问题讨论】:

    标签: python apache mod-wsgi


    【解决方案1】:

    mod_wsgi 守护进程看起来像是 Apache 服务器子进程,即使它们并不相同。这是因为 mod_wsgi 守护进程是 Apache 父进程的 fork,而不是 fork/exec。换句话说,它们的可执行文件名称不会改变。

    为了能够将 mod_wsgi 守护进程与普通 Apache 服务器子进程区分开来,请为 WSGIDaemonProcess 提供“显示名称”选项。此选项允许您将进程重命名为在“ps”程序和某些程序变体(如“top”)的输出中可见。请参阅 mod_wsgi 站点上的 WSGIDaemonProcess 指令文档。

    http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess

    【讨论】:

    • so processes 在 mod_wsgi 配置中与 Apache 的 StartServers 无关?
    • 正确,WSGIDaemonProcess 正在控制一组单独的进程。
    【解决方案2】:

    Apache 进程可能比 WSGI 实例多。

    如果要限制 apache 进程,请将 apache 的 MaxClients 更改为 40。

    【讨论】:

      【解决方案3】:

      您在守护程序模式下使用mod_wsgi,因此mod_wsgi 进程和Apache 处理程序进程是独立的。

      通过您在 apache 启动后的配置,您可以:

      • 40(processes=) mod_wsgi 进程同时启动。
      • 20(StartServers) Apache 处理程序进程,如果没有传入活动,可以自动减少到 10(MaxSpareServers)。

      然后在加载时,Apache 处理程序进程可以增长到 200(MaxClients)。但mod_wsgi 进程数将相同 - 40。

      我的建议是使用 worker mpm,而不是 Apache 只处理动态内容。它可以帮助减少内存消耗和更好的可扩展性。

      【讨论】:

        猜你喜欢
        • 2010-09-16
        • 2012-05-24
        • 1970-01-01
        • 2013-02-04
        • 2014-03-13
        • 1970-01-01
        • 2014-03-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多