2014-10-29 67 views
11

我有一個很難在測試環境中重現的內存泄漏。 因此,我想在有限的時間內對我的生產服務器進行概要分析,以瞭解哪些對象佔用大部分內存。 由於使用了greenlet,所以對於Gunicorn的配置似乎並不那麼容易。如何在生產中對Gunicorn上的Django進行配置文件

我運行:

  • 的Python 2.7.3
  • Gunicorn 18.0
  • 的Django 1.6

這是我Gunicorn配置:

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', 
    ), 
} 

請告訴我運行時進行內存分析的最佳方式Django和Gunicorn?

+1

你可以嘗試編寫自己的自定義分析中間件。看看這個:https://gun.io/blog/fast-as-fuck-django-part-1-using-a-profiler/。雖然,作者在那裏建議自己不要在劇本中使用劇本。 這是一個聲稱做你想做什麼的回購:https://github.com/theospears/django-speedbar – 2015-06-24 10:08:31

回答

相關問題