在生产中如何在Gunicorn上配置Django
我有一个很难在测试环境中重现的内存泄漏。 因此,我想在有限的时间内分析我的生产服务器,以了解哪些对象占用最多内存。 由于greenlets的使用,对Gunicorn进行分析似乎不是那么容易 我在跑步:在生产中如何在Gunicorn上配置Django,django,profiling,gunicorn,gevent,Django,Profiling,Gunicorn,Gevent,我有一个很难在测试环境中重现的内存泄漏。 因此,我想在有限的时间内分析我的生产服务器,以了解哪些对象占用最多内存。 由于greenlets的使用,对Gunicorn进行分析似乎不是那么容易 我在跑步: Python 2.7.3 Gunicorn 18.0 Django 1.6 这是我的Gunicorn配置: CONFIG = { 'environment': { 'DJANGO_SETTINGS_MODULE': 'myapp.settings', },
- Python 2.7.3
- Gunicorn 18.0
- Django 1.6
CONFIG = {
'environment': {
'DJANGO_SETTINGS_MODULE': 'myapp.settings',
},
'user': 'myapp',
'group': 'myapp',
'args': (
'--bind=127.0.0.1:8088',
'--workers=8',
'--worker-class=socketio.sgunicorn.GeventSocketIOWorker',
'--timeout=300',
'--error-logfile=/var/log/gunicorn/myapp-error.log',
'--max-requests=100',
'--log-level=debug',
'myapp.wsgi:application',
),
}
使用Gunicorn运行Django时,执行内存分析的最佳方法是什么?我使用New Relic服务: 他们有免费计划,24小时数据保留 非常容易设置:
您可以尝试编写自己的自定义分析中间件。看看这个:。尽管如此,作者还是建议自己不要在制作中使用该脚本。这是一份回购协议,声称做了一些你想做的事情: