我有一个使用gunicorn运行的python应用程序。我将它包装在一个docker镜像中并将其部署在openshift上。但是,pod要么消耗太多内存,要么因OOM /内存不足而崩溃。
在投资方面,我发现即使我没有指定gunicorn来创建多个工作人员,我的应用程序也会有多个实例。
注意:当在本地计算机上运行相同的docker镜像时,它可以正常工作。
你用的是谁的形象?如果您使用OpenShift提供的Python S2I映像来包装您的应用程序并且没有控制WSGI服务器执行并且让OpenShift映像配置它,它将根据检测到的可用资源设置进程数。如果您的Web应用程序特别需要内存,并且使用的不仅仅是典型的应用程序,那么它创建的进程数可能太多。在这种情况下,您可以设置WEB_CONCURRENCY
并发环境变量以覆盖它设置的进程数。
请参阅WEB_CONCURRENCY
: