Openshift Python多个httpd实例

时间:2015-06-20 20:24:58

标签: python apache openshift

我在Openshift上部署了一个Python Web应用程序(使用WSGI)。该应用程序非常贪婪。我注意到的是,始终部署了多个Apache httpd服务实例。这意味着我的装备的内存使用量乘以这些进程的数量,应用程序经常崩溃。

我还没有很多流量,所以不需要运行多个httpd。

有没有办法配置Python盒式磁带以将其限制为单个httpd进程

1 个答案:

答案 0 :(得分:2)

如果您使用的是OpenShift Python盒式磁带及其默认设置,那么其中只有两个进程实际上应该在其中运行应用程序的副本。其他httpd进程是父监视进程和Apache子进程进程,它们将请求代理到实际运行Web应用程序的进程。

如果您需要控制将其减少到一个过程,那么您需要遵循:

覆盖标准设置并改为使用mod_wsgi-express。这将默认为您的应用程序使用一个进程,并允许您控制应用程序进程的进程数和线程数。

如果您看到大量内存使用,那么它可能只是您的应用程序代码,或者由于使用较旧的mod_wsgi而有外部机会您看到内存问题,因为有一些奇怪的极端情况会导致额外的内存用法因为Apache的工作方式。如果你使用mod_wsgi-express,它将使用最新的并避免这些问题。

所以尝试使用mod_wsgi-express,如果仍然有内存问题,建议你加入mod_wsgi邮件列表来获取调试帮助。