Моє використання пам'яті з часом збільшується, і перезапуск Django не є добрим для користувачів.
Я не впевнений, як проаналізувати використання пам'яті, але деякі поради щодо початку вимірювання були б корисні.
У мене є відчуття, що є кілька простих кроків, які можуть призвести до великих прибутків. Переконайтеся, що "налагодження" встановлено на "False", це очевидно велике значення.
Чи може хтось запропонувати іншим? Скільки покращення буде кешування на сайтах з низьким трафіком?
У цьому випадку я працюю під Apache 2.x з mod_python. Я чув, що mod_wsgi трохи швидше, але було б складно переключитися на цьому етапі, якщо я не знаю, що прибутки будуть значними.
Редагувати: Дякую за пораду поки що. Будь-які пропозиції, як дізнатися, що використовує пам'ять? Чи є посібники з профілювання пам'яті Python?
Також, як згадувалося, є кілька речей, які зроблять складним перехід на mod_wsgi, тому я хотів би мати деяке уявлення про виграші, які я міг очікувати, перш ніж орати вперед у цьому напрямку.
Редагувати: Карл опублікував трохи більш детальну відповідь тут, яку варто прочитати: Розгортання Джанго: Розрізання накладних витрат Апача
Редагувати: Стаття Грем Дамплтон - найкраще, що я знайшов у матеріалах, що стосуються MPM та mod_wsgi. Я дуже розчарований, що ніхто не міг надати будь-яку інформацію про налагодження використання пам'яті в самому додатку, хоча.
Остаточне редагування: Ну, я обговорював це з Webfaction, щоб побачити, чи можуть вони допомогти з перекомпіляцією Apache, і це їхнє слово з цього питання:
"Я дійсно не думаю, що ви отримаєте велику користь, перейшовши на налаштування MPM Worker + mod_wsgi. Я вважаю, що ви зможете зекономити близько 20 МБ, але, мабуть, не набагато більше."
Так! Це повертає мене до мого первісного питання (з якого я все ще не мудріший). Як можна визначити, де лежать проблеми? Це загальновідома максимум, що ви не оптимізуєте без тестування, щоб побачити, де вам потрібно оптимізувати, але в навчальних посібниках щодо вимірювання використання пам'яті Python в пам'яті дуже мало, і жодна спеціальна для Django.
Дякую за допомогу усім, але я думаю, що це питання все ще залишається відкритим!
Ще одна остаточна редакція ;-)
Я запитав це в списку Джанго-користувачів і отримав деякі дуже корисні відповіді
Чесно кажучи останнє оновлення будь-коли!
Це було щойно випущено. Можливо, найкраще рішення: Профілювання розміру об'єкта Django та використання пам'яті за допомогою Pympler