2010-12-28 2 views
9

मैंने अभी समाप्त किया है कि मैं एक छोटी डीजेंगो परियोजना कहूंगा और बहुत जल्द यह लाइव हो रहा है। यह केवल 6 मॉडल है, लेकिन काफी जटिल दृश्य परत और कई रिकॉर्ड सहेजने और पुनर्प्राप्त करने के लिए हैं।Django परियोजना पूर्ण हो गई और काम कर रहा है। अब क्या?

बेशक, स्पष्ट रूप से बड़ी संख्या में बग भूलना, जो शायद मेरे इनबॉक्स को शीर्ष पर भर देगा, सर्वश्रेष्ठ प्रदर्शन वाले वेबसाइट की ओर अगला कदम क्या होगा। क्या tweaked किया जा सकता है?

मैं हाल ही में जेएमटर का उपयोग कर रहा हूं और मुझे विश्वास है कि मेरे पास भविष्य की प्रदर्शन तुलना के लिए एक अच्छी आधारभूत रेखा है, लेकिन बात यह है कि: मुझे यकीन नहीं है कि सबसे अच्छी शुरुआत क्या है, क्योंकि मैं एक लालची बेस्टर्ड हूं कम से कम संभव काम करना चाहता है और सर्वोत्तम परिणाम इकट्ठा करना चाहता है।

उदाहरण के लिए, क्या मुझे एक वितरित डेटाबेस की तरह बुनियादी ढांचे के प्रति दृष्टिकोण की कोशिश करनी चाहिए, या क्या मुझे कोड के साथ जाना चाहिए और उस स्थिति में, क्या ऐसा कुछ ऐसा है जो विशेष रूप से बेहतर प्रदर्शन में परिणाम देता है? आपके अनुभव में, क्या अधिक भुगतान करता है?

व्यक्तिगत योगदान के रूप में: मुझे कभी-कभी यह धारणा होती है कि कुछ ऑपरेशन, जब डीजेन्गो के संकेतों के माध्यम से किया जाता है, तो सामान्य दृश्य तरीका तेज़ी से होते हैं। लेकिन हे, मैं पक्षपातपूर्ण हूँ। मैं loooove सिग्नल freaking। :)

मेरे जैसे व्यक्तिगत उपाख्यानों को कुछ शोध को प्रोत्साहित करने के तरीके के रूप में स्वागत है, लेकिन कुछ तथ्य आधारित राय अधिक सराहना की जाती हैं। :)

बहुत बहुत धन्यवाद।

उत्तर

9

यहाँ हम क्या किया मेम्कैश है ...

  1. django-debug-toolbar इस्तेमाल किया
  2. Django cache framework इस्तेमाल किया (प्रश्नों और प्रतिक्रिया समय की #) प्रत्येक पृष्ठ के प्रदर्शन का विश्लेषण करने के लिए ... सबसे महत्वपूर्ण बात
  3. Firebug इस्तेमाल किया HTTP पृष्ठ लोड
  4. सामान्य साइट उपयोग आंकड़ों के लिए Google Analytics का उपयोग करने के लिए पृष्ठों का उपयोग किया गया है (पता लगाएं कि क्या उपयोग किया जा रहा है)
  5. उपयोग त्वरित प्रदर्शन आंकड़े

सामान्य रूप से, प्रदर्शन को आगे बढ़ाने के लिए प्रयास न करें। सबसे पहले, उपयोग/प्रदर्शन आंकड़े एकत्र करें, फिर जब तक आप सभ्य नतीजे प्राप्त न करें तब तक सबसे पुरस्कृत परिवर्तन (प्रयास बनाम लाभ) चुनें। लक्ष्य अनावश्यक जटिलता (वितरित डेटाबेस, आदि) से बचने के लिए होना चाहिए

फिर, यदि आप अभी भी खुश नहीं हैं, तो इन (क्रम में) पर विचार करें: अधिक रैम (एक लंबा रास्ता तय करता है), एक समर्पित डेटाबेस सर्वर, भार संतुलन कई एप्लिकेशन सर्वर (perlbal का उपयोग कर, आदि), एक समर्पित मीडिया सर्वर, आदि ... देखना अधिक जानकारी के लिए इन (deployment guide, performance tips)

अच्छी किस्मत ...

+1

बहुत व्यापक और उपयोगी उत्तर। धन्यवाद। –

+0

django-toolbar एक खोज है! धन्यवाद – Rodrogo

3

अब क्या?

तैनाती। यदि आपके पास MVP है।

अन्य विचार:

  1. आप परीक्षण के बारे में कुछ भी उल्लेख नहीं किया।क्या आपके पास यूनिट परीक्षण हैं? क्या आपको लगता है कि परीक्षण कवरेज पर्याप्त है? मैं करेन एम। ट्रेसी की पुस्तक Django 1.1 Testing and Debugging पढ़ने की सिफारिश करता हूं।
  2. क्या आपने जैकब कपलन-मॉस के Deployment Workshop देखा है?
  3. क्या आपने कोई उपयोगिता परीक्षण किया है? आप जोएल स्पॉल्स्की द्वारा Joel Test आलेख देख सकते हैं, या आप स्टीव क्रग द्वारा Rocket Surgery Made Easy या Don't Make Me Think पढ़ सकते हैं।
  4. स्पॉल्स्की की बात करते हुए, Joel Test पर आपकी प्रक्रिया रैंक कैसे होती है?

मुझे पता है कि आपका प्रश्न प्रदर्शन की ओर झुका हुआ था, और ऐसा लगता है कि मेरे विचार प्रदर्शन से संबंधित नहीं हैं। हालांकि, इनमें से कुछ असंबद्ध वस्तुओं के बारे में सोचने से आपको ऐसी दिशा में ले जाया जा सकता है जो प्रदर्शन को प्रभावित करेगा। उदाहरण के लिए, उपयोगिता परीक्षण से पता चलता है कि अंतिम उपयोगकर्ता को कम डेटा वितरित होने के कारण बेहतर प्रदर्शन प्रदान करने के दायरे में एक निश्चित सुविधा को कम किया जा सकता है।

संबंधित मुद्दे