2014-10-29 9 views
11

मेरे पास एक स्मृति रिसाव है जो परीक्षण वातावरण में पुन: उत्पन्न करना मुश्किल है। इसलिए मैं अपने उत्पादन सर्वर को सीमित समय अवधि के लिए प्रोफाइल करना चाहता हूं ताकि इस बारे में एक सिंहावलोकन प्राप्त हो सके कि कौन सी ऑब्जेक्ट्स अधिक मेमोरी लेती हैं। ऐसा लगता है कि ग्रीनटॉर्न को ग्रीनलेट के उपयोग के कारण प्रोफ़ाइल करना आसान नहीं है।Django पर Gunicorn पर उत्पादन कैसे करें

मैं चल रहा हूँ:

  • अजगर 2.7.3
  • Gunicorn 18.0
  • Django 1,6

यह मेरा Gunicorn config है:

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?

http://newrelic.com/

वे नि: शुल्क योजना है, 24 घंटों डेटा retantion साथ:

+1

आप अपने स्वयं के कस्टम रूपरेखा मिडलवेयर लिखने का प्रयास कर सकता है। इसे देखें: https://gun.io/blog/fast-as-fuck-django-part-1-using-a-profiler/। हालांकि, लेखक ने खुद को उत्पादन में लिपि का उपयोग नहीं करने का सुझाव दिया है। यहां एक रेपो है जो आप कुछ करना चाहते हैं: https://github.com/theospears/django-speedbar –

उत्तर

संबंधित मुद्दे