การใช้หน่วยความจำของฉันเพิ่มขึ้นเมื่อเวลาผ่านไปและการรีสตาร์ท Django นั้นไม่เหมาะสำหรับผู้ใช้
ฉันไม่แน่ใจว่าจะทำอย่างไรเกี่ยวกับการทำโปรไฟล์การใช้หน่วยความจำ แต่เคล็ดลับเกี่ยวกับวิธีเริ่มการวัดจะมีประโยชน์
ฉันมีความรู้สึกว่ามีขั้นตอนง่ายๆที่สามารถสร้างผลกำไรจำนวนมาก การตรวจสอบให้แน่ใจว่า 'debug' ถูกตั้งค่าเป็น 'False' เป็นปัญหาที่เห็นได้ชัด
ใครสามารถแนะนำคนอื่นได้บ้าง การปรับปรุงจะแคชเว็บไซต์ที่มีอัตราการเข้าชมต่ำเท่าใด
ในกรณีนี้ฉันใช้งาน Apache 2.x กับ mod_python ฉันได้ยินมาว่า mod_wsgi นั้นค่อนข้างผอม แต่มันก็เป็นเรื่องยากที่จะสลับมาที่ขั้นนี้เว้นแต่ว่าฉันรู้ว่าผลกำไรจะมีความสำคัญ
แก้ไข: ขอบคุณสำหรับเคล็ดลับจนถึง ข้อเสนอแนะวิธีการค้นหาสิ่งที่ใช้หน่วยความจำ? มีคำแนะนำในการทำโปรไฟล์หน่วยความจำ Python หรือไม่?
นอกจากนี้ตามที่กล่าวมามีบางสิ่งที่จะทำให้ยากที่จะเปลี่ยนไปใช้ mod_wsgi ดังนั้นฉันต้องการมีความคิดเกี่ยวกับกำไรที่ฉันคาดหวังก่อนที่จะไถไปข้างหน้าในทิศทางนั้น
แก้ไข: Carl โพสต์การตอบกลับที่มีรายละเอียดเพิ่มเติมเล็กน้อยที่นี่ซึ่งควรค่าแก่การอ่าน: การปรับใช้ Django: การตัด Overhead ของ Apache
แก้ไข: บทความของ Graham Dumpleton เป็นบทความที่ดีที่สุดที่ฉันพบใน MPM และ mod_wsgi ฉันค่อนข้างผิดหวังที่ไม่มีใครสามารถให้ข้อมูลเกี่ยวกับการดีบักการใช้หน่วยความจำในแอปได้
แก้ไขครั้งสุดท้าย:ฉันได้คุยเรื่องนี้กับ Webfaction เพื่อดูว่าพวกเขาสามารถช่วย Apache คอมไพล์ใหม่ได้หรือไม่และนี่คือคำพูดของพวกเขาในเรื่อง:
"ฉันไม่คิดว่าคุณจะได้รับประโยชน์มากนักจากการเปลี่ยนไปใช้การติดตั้ง MPM Worker + mod_wsgi ฉันคาดว่าคุณจะสามารถประหยัดได้ประมาณ 20MB แต่อาจไม่มากไปกว่านั้น"
ดังนั้น! สิ่งนี้ทำให้ฉันกลับไปที่คำถามเดิมของฉัน (ซึ่งฉันก็ยังไม่มีใครฉลาดเกี่ยวกับ) เราจะระบุปัญหาได้อย่างไร? มันเป็น maxim ที่เป็นที่รู้จักกันดีว่าคุณไม่ปรับให้เหมาะสมโดยไม่ต้องทดสอบเพื่อดูว่าคุณต้องการปรับให้เหมาะสมที่ไหน แต่มีบทเรียนน้อยมากเกี่ยวกับการวัดการใช้หน่วยความจำ Python และไม่มีเลยเฉพาะ Django
ขอบคุณสำหรับความช่วยเหลือของทุกคน แต่ฉันคิดว่าคำถามนี้ยังคงเปิดอยู่!
อีกการแก้ไขขั้นสุดท้าย ;-)
ฉันถามสิ่งนี้ในรายชื่อผู้ใช้ django และได้รับคำตอบที่มีประโยชน์มาก
สุจริตปรับปรุงล่าสุดที่เคย!
นี่เพิ่งเปิดตัว อาจเป็นทางออกที่ดีที่สุด: การทำโปรไฟล์ขนาดวัตถุ Django และการใช้หน่วยความจำด้วย Pympler