वास्तविकता में अनुरोध कैसे एक साथ हैं? क्या वे सभी एक ही समय में पता टाइप करेंगे?
यह कहा गया है कि, अपने ऐप को स्थानीय रूप से प्रोफाइल करें, इससे आपको एज़ूर पर सीपीयू, नेटवर्क और मेमोरी उपयोग का अनुमान लगाने में मदद मिलेगी। फिर, आपको कितने उदाहरणों की आवश्यकता है, यह देखने के बजाय, आप आवश्यकता को कैसे कम कर सकते हैं! इन युक्तियों को लागू करें, और स्थानीय रूप से फिर से प्रोफाइल करें।
अधिकांश प्रदर्शन युक्तियों में सीपीयू, मेमोरी या बैंडविड्थ उपयोग के बीच एक व्यापार है, यह विचार यह सुनिश्चित करना है कि वे समान रूप से स्केल करें। यदि आप मेमोरी से बाहर हो जाते हैं, लेकिन आपके पास सीपीयू और नेटवर्क का भार नहीं है, तो
एक पृष्ठ सर्वेक्षण के लिए, अपने एचटीएमएल, सीएसएस & जेएस को कम किया गया है, इसकी कैशबल सुनिश्चित करें।
यदि संभव हो तो उन्हें संयोजित करें, और वास्तव में स्केल करने योग्य होने के लिए, स्थिर फ़ाइलों को धक्का दें (सीएसएस, जेएस छवियां) एक सीडीएन में। यह सब वेबसर्वर से निपटने के अनुरोधों की संख्या को कम कर देता है, और इसलिए आपको आवश्यक कमर की संख्या को कम कर देता है = कम नेटवर्क।
एशक्स प्रतिक्रिया कैसे लौटाता है? यानी यह एचटीएमएल, एक्सएमएल या जेसन भेज रहा है? व्यक्तिगत रूप से, मैं इसे JSON वापस करने के लिए प्राप्त करूंगा, क्योंकि इसके लिए कम नेटवर्क बैंडविड्थ की आवश्यकता होगी, और संभवतः कम सर्वर साइड प्रसंस्करण = कम ज्ञापन और नेटवर्क की आवश्यकता होगी।
उपयोग asyncronous एपीआई नीला भंडारण (इस अधिक अनुरोधों को हैंडल करने तक नीला भंडारण वापस आता है आईआईएस धागा को मुक्त करने के आईओ पूरा होने के बंदरगाहों का उपयोग करता = पैमाने पर करने के सीपीयू में सक्षम है)
tijmenvdk पहले से ही लिखने के लिए कतारों का उपयोग कर उल्लेख किया है तक पहुँचने के लिए । क्या प्रश्नों की सूची बदलती है? यदि नहीं, तो उन्हें कैश करें, ताकि ऐप को स्टार्ट-अप पर केवल एक बार टेबल स्टोरेज से पढ़ना पड़े और एक बार अंतिम क्लाइंट-अप के लिए प्रत्येक क्लाइंट के लिए = स्मृति की कीमत पर नेटवर्क और सीपीयू बचाता है।
ये सभी युक्तियां एक सामान्य वेब अनुप्रयोग पर, एक सर्वर या वेब-फार्म वातावरण पर समान रूप से लागू होती हैं।
जिस बिंदु को मैं बनाने की कोशिश कर रहा हूं वह यह है कि आप क्या माप नहीं सकते हैं, आप सुधार नहीं कर सकते, माप, सुधार और लागत सभी हाथों में हाथ में ले सकते हैं। गतिशील स्केलिंग लागत को कम कर देगी, लेकिन मूल रूप से यदि आपके एप्लिकेशन को माप नहीं लिया गया है और संसाधन उपयोग अनुकूलित किया गया है, तो पूछें कि आपको कितने उदाहरणों की आवश्यकता है व्यर्थ है।
हाय तिजमेन, आपकी टिप्पणियों के लिए धन्यवाद। हमने परीक्षणों को लोड करना शुरू किया लेकिन चूंकि मैं इस विषय के लिए नया हूं, इसलिए पहिया को फिर से शुरू करने की कोशिश करना हमेशा अच्छा होता है ... सर्वेक्षण कुछ अलग है: सभी 30,000 आगंतुक एक शो देख रहे हैं और एक ही समय में प्रश्न का उत्तर देंगे । यह प्रति सेकंड अनुरोधों को अनुमानित 10.000 तक बढ़ाएगा। हम कैशिंग, सिंगलटन कक्षाओं का उपयोग करते हैं और इस पल में समाधान को अनुकूलित कर रहे हैं ताकि इसे यथासंभव दुबला बना दिया जा सके। हम तुरंत निगरानी और संसाधनों को जोड़ देंगे! –
इस प्रकार के थ्रूपुट के लिए, एज़ूर कतार में सीधे एज़ूर टेबल में लिखने के बीच प्रदर्शन अंतर को देखें ... कतार तेज होनी चाहिए, आपको कुछ पेर्फ मिल सकता है। आपको कतार में डेटा को संसाधित करने के लिए एक कार्यकर्ता भूमिका लिखने की आवश्यकता है, लेकिन यह परफ-महत्वपूर्ण पथ पर नहीं है। समाधान के बावजूद, सुनिश्चित करें कि आप सभी हिट (और औसत नहीं) के लिए अनुरोध निष्पादन समय की समीक्षा करते हैं, यह सुनिश्चित करने के लिए कि औसत मूल्यों पर दिखाए बिना ~ 10% हिट बहुत लंबे समय तक नहीं लेते हैं। – tijmenvdk