Meine Speichernutzung nimmt mit der Zeit zu und ein Neustart von Django ist nicht benutzerfreundlich.
Ich bin mir nicht sicher, wie ich die Speichernutzung profilieren soll, aber einige Tipps zum Starten der Messung wären hilfreich.
Ich habe das Gefühl, dass es einige einfache Schritte gibt, die große Gewinne bringen könnten. Es ist offensichtlich, dass "Debug" auf "False" gesetzt ist.
Kann jemand andere vorschlagen? Wie viel Verbesserung würde das Caching auf Websites mit geringem Datenverkehr bewirken?
In diesem Fall laufe ich unter Apache 2.x mit mod_python. Ich habe gehört, dass mod_wsgi etwas schlanker ist, aber es wäre schwierig, zu diesem Zeitpunkt zu wechseln, wenn ich nicht weiß, dass die Gewinne signifikant wären.
Edit: Danke für die bisherigen Tipps. Irgendwelche Vorschläge, wie Sie herausfinden können, was den Speicher belegt? Gibt es Anleitungen zur Python-Speicherprofilerstellung?
Wie bereits erwähnt, gibt es einige Dinge, die es schwierig machen, zu mod_wsgi zu wechseln. Daher möchte ich eine Vorstellung von den Gewinnen haben, die ich erwarten könnte, bevor ich in diese Richtung vorwärts pflüge.
Bearbeiten: Carl hat hier eine etwas detailliertere Antwort veröffentlicht, die es wert ist, gelesen zu werden: Django-Bereitstellung: Schneiden von Apaches Overhead
Bearbeiten: Graham Dumpletons Artikel ist der beste, den ich über MPM und mod_wsgi gefunden habe. Ich bin ziemlich enttäuscht, dass niemand Informationen zum Debuggen der Speichernutzung in der App selbst bereitstellen konnte.
Final Edit: Nun, ich habe dies mit Webfaction besprochen, um zu sehen, ob sie beim Neukompilieren von Apache helfen können, und dies ist ihr Wort in dieser Angelegenheit:
"Ich glaube wirklich nicht, dass Sie durch den Wechsel zu einem MPM Worker + mod_wsgi-Setup einen großen Nutzen erzielen werden. Ich schätze, dass Sie möglicherweise etwa 20 MB sparen können, aber wahrscheinlich nicht viel mehr."
So! Dies bringt mich zurück zu meiner ursprünglichen Frage (über die ich immer noch nicht klüger bin). Wie kann man herausfinden, wo die Probleme liegen? Es ist eine bekannte Maxime, dass Sie nicht optimieren, ohne zu testen, wo Sie optimieren müssen, aber es gibt nur sehr wenige Tutorials zum Messen der Python-Speichernutzung und keine für Django spezifischen.
Vielen Dank für die Unterstützung aller, aber ich denke, diese Frage ist noch offen!
Noch eine letzte Bearbeitung ;-)
Ich habe dies auf der Django-Benutzerliste gefragt und einige sehr hilfreiche Antworten erhalten
Ehrlich gesagt das letzte Update überhaupt!
Dies wurde gerade veröffentlicht. Könnte die bisher beste Lösung sein: Profilierung der Django-Objektgröße und der Speichernutzung mit Pympler