2014-10-29 28 views
11

Tôi có một rò rỉ bộ nhớ khó tái tạo trong môi trường thử nghiệm. Vì vậy, tôi muốn cấu hình máy chủ sản xuất của mình trong một khoảng thời gian giới hạn để có cái nhìn tổng quan về những đối tượng chiếm hầu hết bộ nhớ. Dường như không dễ dàng để cấu hình Gunicorn do việc sử dụng các greenlet.Làm thế nào để cấu hình Django trên Gunicorn trong sản xuất

Tôi đang chạy:

  • Python 2.7.3
  • Gunicorn 18.0
  • Django 1,6

Đây là cấu hình Gunicorn tôi:

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

Whats cách tốt nhất để làm hồ sơ bộ nhớ khi chạy Django với Gunicorn?

+1

Bạn có thể thử viết riêng middleware tùy chỉnh hồ sơ của bạn. Có một cái nhìn tại đây: https://gun.io/blog/fast-as-fuck-django-part-1-using-a-profiler/. Mặc dù, tác giả có đề xuất rằng bản thân nó không sử dụng kịch bản trong sản xuất. Đây là một repo tuyên bố để làm một số những gì bạn muốn làm: https://github.com/theospears/django-speedbar –

Trả lời

Các vấn đề liên quan