【发布时间】:2013-02-11 14:31:13
【问题描述】:
我在 Ubuntu 12.04 上使用 supervisor 3.0a8-1.1 运行 Django 1.4 站点,但遇到了 gunicorn 0.17.2 和 gevent 0.13.8 的奇怪问题。
Supervisor 的内存使用量不断增长,直到服务器没有响应。
有 5 个站点具有以下主管配置:
command=/app/virtualenv/bin/newrelic-admin run-program /app/virtualenv/bin/python /app/manage.py run_gunicorn -c gunicorn_conf.py -k gevent
directory=/app
autostart=true
autorestart=true
stopsignal=KILL
killasgroup=true
environment=NEW_RELIC_CONFIG_FILE='/app/newrelic.ini'
以及以下 gunicorn 配置:
workers = 4
bind = '0.0.0.0:(Site Port Number)'
这些都是通过 NGINX 反向代理的。
我在具有 2 个内核和 7.3GB 内存的大型 EC2 实例上运行这些,这应该比我需要的要多。
还有其他人遇到过这个问题吗?
【问题讨论】:
-
这可能是一百万件事。您是否尝试过使用空白 django 项目并查看内存问题是否仍然存在?您需要首先从问题集中消除您的代码,然后担心 new-relic、gevent 或 gunicorn 中的潜在错误。
-
我有 2 个站点,一个使用标准 Mezannine,另一个使用标准 Djando CMS。这些都没有使用newrelic。这些是我所能得到的标准,因为据我所知,一个空白项目没有使用足够的内存来可靠地监控请求。我在没有主管的情况下运行了这两个项目,并且内存被清除了。
标签: django ubuntu gevent gunicorn supervisord