Penggunaan memori saya meningkat seiring waktu dan memulai ulang Django bukanlah hal yang baik bagi pengguna.
Saya tidak yakin bagaimana cara membuat profil penggunaan memori tetapi beberapa tip tentang cara memulai pengukuran akan berguna.
Saya merasa ada beberapa langkah sederhana yang bisa menghasilkan keuntungan besar. Memastikan 'debug' disetel ke 'False' adalah masalah besar yang jelas.
Adakah yang bisa menyarankan orang lain? Seberapa besar peningkatan yang dapat dilakukan caching di situs dengan lalu lintas rendah?
Dalam hal ini saya menggunakan Apache 2.x dengan mod_python. Saya pernah mendengar mod_wsgi sedikit lebih ramping tetapi akan sulit untuk beralih pada tahap ini kecuali saya tahu keuntungannya akan signifikan.
Edit: Terima kasih atas tipnya sejauh ini. Ada saran bagaimana menemukan apa yang menggunakan memori? Apakah ada panduan untuk profil memori Python?
Juga seperti yang disebutkan, ada beberapa hal yang akan membuat sulit untuk beralih ke mod_wsgi, jadi saya ingin mengetahui beberapa keuntungan yang bisa saya harapkan sebelum melangkah maju ke arah itu.
Sunting: Carl mem-posting balasan yang sedikit lebih rinci di sini yang layak dibaca: Penyebaran Django: Pemotongan Overhead Apache
Sunting: Artikel Graham Dumpleton adalah yang terbaik yang pernah saya temukan di MPM dan hal-hal terkait mod_wsgi. Saya agak kecewa karena tidak ada yang bisa memberikan info tentang debugging penggunaan memori di aplikasi itu sendiri.
Sunting Terakhir: Saya telah mendiskusikan ini dengan Webfaction untuk melihat apakah mereka dapat membantu dengan mengkompilasi ulang Apache dan ini adalah kata-kata mereka tentang masalah ini:
"Saya benar-benar tidak berpikir bahwa Anda akan mendapatkan banyak manfaat dengan beralih ke penyiapan MPM Worker + mod_wsgi. Saya memperkirakan bahwa Anda mungkin dapat menghemat sekitar 20MB, tetapi mungkin tidak lebih dari itu."
Begitu! Ini membawa saya kembali ke pertanyaan awal saya (yang masih belum saya ketahui). Bagaimana cara seseorang mengidentifikasi di mana letak masalahnya? Ini adalah pepatah terkenal bahwa Anda tidak mengoptimalkan tanpa pengujian untuk melihat di mana Anda perlu mengoptimalkan tetapi ada sangat sedikit tutorial tentang mengukur penggunaan memori Python dan tidak ada sama sekali yang khusus untuk Django.
Terima kasih atas bantuan semua orang tetapi saya pikir pertanyaan ini masih terbuka!
Pengeditan terakhir lainnya ;-)
Saya menanyakan hal ini pada daftar pengguna-django dan mendapat beberapa jawaban yang sangat membantu
Sejujurnya pembaruan terakhir yang pernah ada!
Ini baru saja dirilis. Mungkin merupakan solusi terbaik: Membuat profil ukuran objek Django dan penggunaan memori dengan Pympler