Утечка памяти в Django на Apache / MySQL - PullRequest
1 голос
/ 25 ноября 2011

У меня есть развертывание Satchmo с 500k продуктов, работающих на

  • Apache 2.2-mpm-prefork
  • mysql 5.1
  • mod_wsgi 3.3
  • mysqldb 1.2.3

Технология стека помогает (собирается перейти на nginx / gunicorn / etc ... со временем) этот сайт имеет чертовски утечку памяти

сам сервер работает с 16 ГБ памяти и со временем все это используется процессом apache

Отладка отключена

и кеш работает через MySQL

Я гуглил и экспериментировал несколько дней без каких-либо изменений, кроме того, что потребление памяти замедлилось.

Любые предложения по отслеживанию этого?

Мой следующий шаг - профилирование проекта (не увлекается идеей, учитывая объем зависимостей в Satchmo), хотя я не верю, что проблема связана с самим проектом, начиная с

  1. Я раньше использовал Satchmo без проблем с памятью
  2. Это не отображается на моем компьютере разработчика

1 Ответ

2 голосов
/ 26 ноября 2011

Как у вас работает mod_wsgi?Встроенный режим или режим демона?Встроенный режим и prefork - плохая идея, если вы не настроили Apache должным образом.Читайте:

http://blog.dscpl.com.au/2009/03/load-spikes-and-excessive-memory-usage.html

и

http://blog.dscpl.com.au/2009/11/save-on-memory-with-modwsgi-30.html

Также убедитесь, что вы все еще не загружаете mod_python.

Не то чтобы причина использования памяти выскочила, но вы можете попробовать инструмент мониторинга производства, такой как New Relic, который может посмотреть, что происходит внутри вашего приложения.Могут быть полезны как инструменты Python-агента, так и инструменты мониторинга сервера, особенно исторические диаграммы, поскольку они будут лучше отражать происходящее с течением времени.

Отказ от ответственности: в эти дни я работаю в New Relic на агенте Python.: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...