Openshift会创建过多的流程

时间:2019-03-15 04:24:27

标签: python-3.x docker openshift gunicorn

ps aux | grep "gunicorn" yields this

我有一个使用gunicorn运行的python应用程序。我将其包装在docker映像中,并将其部署在openshift上。但是,pod占用过多内存或因OOM /内存不足错误而崩溃。

在进行投资时,我发现即使没有指定gunicorn来创建多个工作人员,我的应用程序仍存在多个实例。

注意:当在本地计算机上运行相同的docker映像时,它工作得很好。

1 个答案:

答案 0 :(得分:1)

您使用的是哪个图片?如果您使用的是OpenShift提供的Python S2I映像来包装您的应用程序,并且没有控制WSGI服务器的执行,而是让OpenShift映像对其进行配置,则它将根据检测到的可用资源来设置进程数。如果您的Web应用程序特别耗费内存,并且比典型应用程序使用更多的内存,则它创建的进程数可能太多。在这种情况下,您可以设置WEB_CONCURRENCY并发环境变量以覆盖它设置的进程数。

请参见以下内容中的WEB_CONCURRENCY