Reduzindo o uso de memória do Django. Frutos mais baixos?

Meu uso de memória aumenta com o tempo e reiniciar o Django não é bom para os usuários.

Não tenho certeza de como criar um perfil do uso da memória, mas algumas dicas sobre como começar a medir seriam úteis.

Sinto que existem alguns passos simples que podem produzir grandes ganhos. Garantir que 'debug' esteja definido como 'False' é um óbvio óbvio.

Alguém pode sugerir outros? Quanta melhoria o cache em sites de baixo tráfego?

Nesse caso, estou executando o Apache 2.x com mod_python. Ouvi dizer que mod_wsgi é um pouco mais enxuto, mas seria complicado mudar nesse estágio, a menos que eu saiba que os ganhos seriam significativos.

Edit: Obrigado pelas dicas até agora. Alguma sugestão de como descobrir o que está consumindo a memória? Existem guias para criação de perfil de memória Python?

Além disso, como mencionado, há algumas coisas que tornarão difícil mudar para mod_wsgi, então eu gostaria de ter uma idéia dos ganhos que eu poderia esperar antes de avançar nessa direção.

Editar: Carl postou aqui uma resposta um pouco mais detalhada que vale a pena ler:Implantação do Django: cortando a sobrecarga do Apache

Editar: Artigo de Graham Dumpleton é o melhor que encontrei no MPM e no mod_wsgi. Estou um pouco decepcionado que ninguém possa fornecer informações sobre a depuração do uso de memória no próprio aplicativo.

Edição final: Bem, eu tenho discutido isso com o Webfaction para ver se eles poderiam ajudar na recompilação do Apache e esta é a palavra deles sobre o assunto:

"Realmente não acho que você obterá muitos benefícios mudando para uma configuração do MPM Worker + mod_wsgi. Estimo que você poderá economizar cerca de 20 MB, mas provavelmente não muito mais que isso."

Assim! Isso me traz de volta à minha pergunta original (sobre a qual ainda não sou o mais sábio). Como se identifica onde estão os problemas? É uma máxima conhecida que você não otimiza sem testar para ver onde precisa otimizar, mas há muito pouco no caminho de tutoriais sobre como medir o uso de memória Python e nenhum específico do Django.

Obrigado pela ajuda de todos, mas acho que essa pergunta ainda está aberta!

Outra edição final ;-)

Eu perguntei isso na lista django-users e consegui algumasmuito respostas úteis

Honestamente, a última atualização de sempre!

Isso acabou de ser lançado. Pode ser a melhor solução ainda:Criação de perfil do tamanho do objeto Django e uso de memória com o Pympler

questionAnswers(10)

yourAnswerToTheQuestion