Mi uso de memoria aumenta con el tiempo y el reinicio de Django no es bueno para los usuarios.
Estoy seguro de cómo ir sobre el perfil de la uso de memoria, pero algunas sugerencias sobre cómo iniciar la medición sería útil.
Tengo la sensación de que hay algunos pasos simples que puede producir grandes ganancias. Garantizar la 'depuración' es 'False' es un caso obvio de biggie.
¿Alguien puede sugerir a los demás? ¿Cuánto mejora el almacenamiento en caché de bajo-sitios de tráfico?
En este caso estoy corriendo bajo Apache 2.x con mod_python. He oído mod_wsgi es un poco más delgado, pero sería difícil de cambiar en esta etapa, a menos sé que las ganancias serían significativos.
Edit: Gracias por los consejos tan lejos. Alguna sugerencia de cómo descubrir cuál es el uso de la memoria? ¿Hay guías de Python para creación de perfiles de memoria?
Asimismo, como se mencionó, hay un par de cosas que hacen que sea difícil para cambiar a mod_wsgi así que me gustaría tener alguna idea de las ganancias que me podía esperar antes de arar adelante en esa dirección.
Edit: Carl publicado un poco más detallada respuesta aquí que vale la pena leer: http://stackoverflow.com/questions/488864/django-deployment-cutting-apaches-overhead
Edit: Graham Dumpleton del artículo es la mejor que he encontrado en el MPM y mod_wsgi relacionados con la materia. Estoy bastante decepcionado de que nadie podría proporcionar alguna información sobre la depuración del uso de memoria en la misma aplicación, sin embargo.
Última Edición: Bien, he estado hablando de esto con Webfaction para ver si podían ayudar con volver a compilar el servidor Apache y este es su palabra sobre el asunto:
"Yo realmente no creo que usted vaya a recibir un beneficio por el cambio a un MPM Worker + mod_wsgi la instalación. Estimo que usted puede ser capaz de ahorrar alrededor de 20 MB, pero probablemente no mucho más que eso."
Así! Esto me lleva de vuelta a mi pregunta original (de la cual estoy todavía ninguno de los sabios acerca de). ¿Cómo identificar si los problemas de la mentira? Es bien conocida la máxima de que no optimizar sin pruebas para ver donde usted necesita para optimizar, pero hay muy poco en el camino de la tutoriales en la medición de Python uso de la memoria y ninguno específico para Django.
Gracias a todos los que se ayuda, pero creo que esta cuestión todavía está abierta!
Otra edición final ;-)
He preguntado esto en el django-lista de usuarios y de algunos muy útil respuestas
Honestamente la última actualización de la historia!
Esto se acaba de publicar. Podría ser la mejor solución: Perfiles de Django tamaño del objeto y el uso de la memoria con Pympler