2015-06-20 46 views
1

我有一个Python Web应用程序(使用WSGI)部署在Openshift上。该应用程序相当贪心。我注意到的是,有几个Apache httpd服务实例始终部署。这意味着我的设备的内存使用量乘以这些进程的数量并且应用程序崩溃的频率很高。Openshift Python多个httpd实例

我没有很多的流量,所以没有必要有多个httpd运行。

有什么办法可以配置Python盒,将其限制为单个httpd进程

回答

2

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

如果你需要控制,以减少它归结为一个过程,那么你就需要遵循:

越过标准的设置和使用,而不是mod_wsgi的快车。这将默认为您的应用程序使用一个进程,并允许您控制应用程序进程的进程数和线程数。

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

因此,请尝试mod_wsgi-express,如果仍然存在内存问题,建议您在mod_wsgi邮件列表中获取帮助以进行调试。

+0

您从博客的指示就像一个魅力。现在我只有一个mod_wsgi-express进程,所以不需要加倍的内存资源。非常感谢。 – udachny