इस के लिए दो परतों है पर हैं मतलब है। हमारे परीक्षण के लिए हमारे पास # 1 स्थान है। हम # 2 पर शुरू होने वाले हैं।
अलगाव में Django। सामान्य Django इकाई परीक्षण यहाँ अच्छी तरह से काम करता है। कुछ परीक्षण बनाएं जो कुछ (6 से कम) "सामान्य" उपयोग मामलों के माध्यम से चक्र बनाते हैं। इसे प्राप्त करें, पोस्ट करें, आदि। समय डेटा एकत्रित करें। यह वास्तविक वेब प्रदर्शन नहीं है, लेकिन यह परीक्षण परिदृश्य के साथ काम करने में आसान है जिसे आप ट्यूनिंग के लिए उपयोग कर सकते हैं।
आपका पूरा वेब स्टैक। इस मामले में, आपको एक नियमित सर्वर चलाना चाहिए जिसमें स्क्विड, अपाचे, डीजेगो, माईएसक्यूएल, जो भी हो। क्लाइंट को urllib2 के माध्यम से अपनी वेबसाइट का अभ्यास करने के लिए आपको एक दूसरे कंप्यूटर की आवश्यकता है, कुछ (6 से कम) "सामान्य" उपयोग के मामलों को कर रहे हैं। इसे प्राप्त करें, पोस्ट करें, आदि। समय डेटा एकत्रित करें। यह अभी भी "असली" वेब प्रदर्शन नहीं है, क्योंकि यह इंटरनेट के माध्यम से नहीं है, लेकिन यह उतना ही करीब है जितना आप वास्तव में विस्तृत सेटअप के बिना प्राप्त करने जा रहे हैं।
ध्यान दें कि # 2 (एंड-टू-एंड) प्रदर्शन के लिए कैशिंग के एक महान सौदा शामिल है। यदि आपकी ग्राहक स्क्रिप्ट समान कार्य कर रही हैं, तो कैशिंग वास्तव में फायदेमंद होगी। यदि आपकी क्लाइंट स्क्रिप्ट प्रत्येक बार अद्वितीय चीजें करती हैं, तो कैशिंग कम फायदेमंद होगी।
सबसे कठिन हिस्सा यह निर्धारित करना है कि "सामान्य" वर्कलोड क्या है। यह कार्यात्मक परीक्षण नहीं है, इसलिए वर्कलोड में सब कुछ शामिल नहीं है। साथ ही, आपके ग्राहक चल रहे अधिक समवर्ती सत्र, धीमे हो जाते हैं। जब आपका टेस्ट क्लाइंट प्रसंस्करण का सबसे धीमा हिस्सा होता है तो अपने सर्वर को अनुकूलित करने का प्रयास न करें।
संपादित
"पंक्ति-दर-पंक्ति" का अर्थ है, तो "रूपरेखा", ठीक है, यदि आप एक अजगर प्रोफाइलर चल पाने के लिए मिल गया है।
https://docs.python.org/library/profile.html
नोट वहाँ Django ORM परत में कैशिंग के बहुत सारे है कि। इसलिए मापन का सार्थक सेट प्राप्त करने के लिए एक आधा दर्जन बार एक दृश्य चलाना समझदार नहीं है। आपको संचालन के "सामान्य" सेट को चलाने और फिर प्रोफ़ाइल में हॉट-स्पॉट ढूंढना होगा।
आम तौर पर, आपका आवेदन अनुकूलित करना आसान है - आपको बहुत कुछ नहीं करना चाहिए। आपके दृश्य कार्यों को छोटा होना चाहिए और इसके बारे में बात करने की कोई प्रसंस्करण नहीं है। आपके फॉर्म और मॉडल विधि फ़ंक्शंस, समान रूप से, बहुत कम होना चाहिए।
स्रोत
2009-04-14 15:39:50
कृपया "लाइन-दर-लाइन प्रदर्शन डेटा" को परिभाषित करें –
क्षमा करें, मेरा मतलब यह है कि कोड की प्रत्येक पंक्ति के साथ-साथ समय प्रति फ़ंक्शन, डीबी कॉल इत्यादि के लिए कितना समय लगता है, – Jiaaro