ऑटोस्केल कारकों की पहचान करें
ऑटोस्केलिंग आपको उन शर्तों को निर्दिष्ट करने में सक्षम बनाता है जिनके तहत एक वेब ऐप को स्केल किया जाना चाहिए, और फिर से वापस आना चाहिए। प्रभावी ऑटोस्केलिंग सुनिश्चित करता है कि मांग गिरने पर लागत का प्रबंधन करते हुए, पीक समय पर बड़ी मात्रा में अनुरोधों को संभालने के लिए पर्याप्त संसाधन उपलब्ध हैं।
आप संसाधन उपयोग के आधार पर कारकों के संयोजन के अनुसार कब स्केल इन और आउट करना है, यह पता लगाने के लिए ऑटोस्केलिंग कॉन्फ़िगर कर सकते हैं। आप शेड्यूल के अनुसार होने के लिए ऑटोस्केलिंग को भी कॉन्फ़िगर कर सकते हैं।
इस इकाई में, आप सीखते हैं कि उन कारकों को कैसे निर्दिष्ट किया जाए जिनका उपयोग किसी सेवा को स्वतः स्केल करने के लिए किया जा सकता है.
ऑटोस्केलिंग और ऐप सेवा योजना
ऑटोस्केलिंग वेब ऐप द्वारा उपयोग की जाने वाली ऐप सर्विस प्लान की एक विशेषता है। जब वेब ऐप स्केल आउट हो जाता है, तो Azure ऐप सेवा योजना द्वारा निर्धारित हार्डवेयर के नए इंस्टेंस को ऐप में शुरू करता है।
भगोड़ा ऑटोस्केलिंग को रोकने के लिए, ऐप सर्विस प्लान की एक इंस्टेंस सीमा होती है। अधिक महंगे मूल्य निर्धारण स्तरों में योजनाओं की उच्च सीमा होती है। Autoscaling इस सीमा से अधिक इंस्टेंस नहीं बना सकता है।
नोट
सभी ऐप सेवा योजना मूल्य निर्धारण स्तर ऑटोस्केलिंग का समर्थन नहीं करते हैं।
ऑटोस्केल स्थितियां
आप autoscale शर्तें बनाकर autoscale करने के लिए कैसे इंगित करें। Azure ऑटोस्केलिंग के लिए दो विकल्प प्रदान करता है:
- मीट्रिक पर आधारित स्केल, जैसे डिस्क कतार की लंबाई या संसाधन की प्रतीक्षा कर रहे HTTP अनुरोधों की संख्या.
- किसी विशिष्ट आवृत्ति के स्केल को शेड्यूल के अनुसार गिनें. उदाहरण के लिए, आप दिन के किसी विशेष समय पर या सप्ताह के किसी विशिष्ट दिनांक या दिन पर स्केल आउट करने की व्यवस्था कर सकते हैं. आप एक समाप्ति दिनांक भी निर्दिष्ट करते हैं, और सिस्टम इस समय वापस स्केल करता है।
किसी विशिष्ट आवृत्ति गणना तक स्केलिंग करने से आप केवल आवृत्तियों की निर्धारित संख्या तक स्केल आउट कर सकते हैं. यदि आपको वृद्धिशील रूप से स्केल आउट करने की आवश्यकता है, तो आप मीट्रिक और शेड्यूल-आधारित ऑटोस्केलिंग को समान ऑटोस्केल स्थिति में संयोजित कर सकते हैं. इसलिए, आप सिस्टम को स्केल करने की व्यवस्था कर सकते हैं यदि HTTP अनुरोधों की संख्या कुछ सीमा से अधिक है, लेकिन केवल दिन के कुछ घंटों के बीच।
आप विभिन्न शेड्यूल और मीट्रिक को हैंडल करने के लिए एकाधिक ऑटोस्केल शर्तें बना सकते हैं. इनमें से कोई भी शर्त लागू होने पर Azure आपकी सेवा को स्वतः स्केल करता है। ऐप सेवा योजना में एक डिफ़ॉल्ट शर्त भी होती है जिसका उपयोग तब किया जाता है जब कोई अन्य शर्त लागू नहीं होती है। यह स्थिति हमेशा सक्रिय रहती है और इसका कोई शेड्यूल नहीं होता है।
ऑटोस्केल नियमों के लिए मीट्रिक
मीट्रिक द्वारा स्वतः स्केलिंग के लिए आवश्यक है कि आप एक या अधिक ऑटोस्केल नियम निर्धारित करें. एक autoscale नियम मॉनिटर करने के लिए एक मीट्रिक निर्दिष्ट करता है, और जब यह मीट्रिक किसी निर्धारित सीमा को पार करता है तो autoscaling को कैसे प्रतिक्रिया देनी चाहिए। वेब ऐप के लिए आप जिन मीट्रिक की निगरानी कर सकते हैं, वे हैं:
- सीपीयू प्रतिशत. यह मीट्रिक सभी उदाहरणों में CPU उपयोग का संकेत है। एक उच्च मूल्य से पता चलता है कि उदाहरण सीपीयू-बाउंड बन रहे हैं, जिससे क्लाइंट अनुरोधों को संसाधित करने में देरी हो सकती है।
- स्मृति प्रतिशत| यह मीट्रिक सभी उदाहरणों में एप्लिकेशन की मेमोरी ऑक्यूपेंसी को कैप्चर करता है। एक उच्च मान इंगित करता है कि मुक्त स्मृति कम चल रही हो सकती है, और एक या अधिक आवृत्तियों को विफल कर सकती है।
- डिस्क कतार लंबाई. यह मीट्रिक सभी उदाहरणों में बकाया I/O अनुरोधों की संख्या का एक माप है। एक उच्च मान का मतलब है कि डिस्क विवाद हो सकता है।
- http कतार लंबाई. यह मीट्रिक दिखाता है कि वेब ऐप द्वारा कितने क्लाइंट अनुरोध प्रसंस्करण की प्रतीक्षा कर रहे हैं। यदि यह संख्या बड़ी है, तो HTTP 408 (टाइमआउट) त्रुटियों के साथ क्लाइंट अनुरोध विफल हो सकता है।
- मेंडेटा | यह मीट्रिक सभी उदाहरणों में प्राप्त बाइट्स की संख्या है।
- डेटा आउट. यह मीट्रिक सभी आवृत्तियों द्वारा भेजे गए बाइट्स की संख्या है.
आप अन्य Azure सेवाओं के लिए मीट्रिक के आधार पर भी स्केल कर सकते हैं. उदाहरण के लिए, यदि वेब अनुप्रयोग किसी सेवा बस क्यू से प्राप्त अनुरोधों को संसाधित करता है, तो हो सकता है कि आप वेब अनुप्रयोग की अधिक आवृत्तियों को स्पिन अप करना चाहें, यदि किसी Azure सेवा बस कतार में रखे आइटम्स की संख्या महत्वपूर्ण लंबाई से अधिक हो.
कोई ऑटोस्केल नियम मीट्रिक का विश्लेषण कैसे करता है
ऑटोस्केलिंग सभी उदाहरणों में समय के साथ मीट्रिक मानों में रुझानों का विश्लेषण करके काम करता है। विश्लेषण एक बहु-चरणीय प्रक्रिया है।
पहले चरण में, एक ऑटोस्केल नियम समय की अवधि में सभी आवृत्तियों के लिए मीट्रिक के लिए पुनर्प्राप्त मानों को एकत्रित करता है, जिसे समय ग्रेनके रूप में जाना जाता है. प्रत्येक मीट्रिक का अपना आंतरिक समय अनाज होता है, लेकिन ज्यादातर मामलों में यह अवधि 1 मिनट होती है। समेकित मान को समय एकत्रीकरणके रूप में जाना जाता है। उपलब्ध विकल्प औसत, न्यूनतम अधिकतम, योग, अंतिम और गणनाहैं।
एक मिनट का अंतराल एक छोटा अंतराल है जिसमें यह निर्धारित किया जाता है कि मीट्रिक में कोई भी परिवर्तन ऑटोस्केलिंग को सार्थक बनाने के लिए पर्याप्त है या नहीं। इसलिए, एक autoscale नियम एक दूसरा चरण निष्पादित करता है जो समय एकत्रीकरण द्वारा परिकलित मान का एक और एकत्रीकरण निष्पादित करता है एक लंबी, उपयोगकर्ता-निर्दिष्ट अवधि में, जिसे अवधिके रूप में जाना जाता है. न्यूनतम अवधि 5 मिनट है। उदाहरण के लिए, यदि अवधि को 10 मिनट पर सेट किया जाता है, तो autoscale नियम समय ग्रेनके लिए परिकलित 10 मानों को एकत्रित करता है.
अवधि के लिए एकत्रीकरण गणना समय अनाजसे भिन्न हो सकती है। उदाहरण के लिए, यदि समय एकत्रीकरण औसत है और एकत्रित आँकड़ा CPU प्रतिशत है एक मिनट समय अनाजमें, प्रत्येक मिनट उस मिनट के लिए सभी आवृत्तियों में औसत CPU प्रतिशत उपयोग की गणना की जाती है। समय ग्रेन आँकड़े अधिकतम करने के लिए सेट किया गया है, और नियम की अवधि 10 मिनट के लिए सेट है, तो अधिकतम CPU प्रतिशत उपयोग के लिए 10 औसत मान नियम थ्रेशोल्ड पार किया गया है कि क्या यह निर्धारित करने के लिए है।
ऑटोस्केल क्रियाएँ
जब किसी autoscale नियम को पता चलता है कि किसी मीट्रिक ने सीमा पार कर ली है, तो वह एक autoscale क्रिया निष्पादित कर सकता है. एक ऑटोस्केल क्रिया स्केल-आउट या स्केल-इन हो सकती है। स्केल-आउट क्रिया आवृत्तियों की संख्या बढ़ाती है और स्केल-इन क्रिया आवृत्ति गणना को कम करती है. एक ऑटोस्केल क्रिया एक ऑपरेटर (जैसे से कम, से अधिक, के बराबर , और इसी तरह) का उपयोग करती है ताकि यह निर्धारित किया जा सके कि थ्रेशोल्ड पर कैसे प्रतिक्रिया दी जाए। स्केल-आउट क्रियाएँ आमतौर पर थ्रेशोल्ड के लिए मीट्रिक मान की तुलना करने के लिए ऑपरेटर से से अधिक का उपयोग करती हैं। स्केल-इन क्रियाएं मीट्रिक मान की तुलना थ्रेशोल्ड से ऑपरेटर से कम से करती हैं। एक ऑटोस्केल क्रिया उपलब्ध संख्या को बढ़ाने या घटाने के बजाय इंस्टेंस काउंट को एक विशिष्ट स्तर पर भी सेट कर सकती है।
एक ऑटोस्केल एक्शन में कूल डाउन अवधि होती है, जिसे मिनटों में निर्दिष्ट किया जाता है। इस अंतराल के दौरान, स्केल नियम फिर से ट्रिगर नहीं किया जाएगा. यह सिस्टम को ऑटोस्केल घटनाओं के बीच स्थिर करने की अनुमति देने के लिए है। याद रखें कि आवृत्तियों को शुरू करने या बंद करने में समय लगता है और इसलिए हो सकता है कि एकत्र की गई कोई भी मीट्रिक कई मिनटों तक कोई महत्वपूर्ण परिवर्तन न दिखाए. न्यूनतम कूल डाउन अवधि पांच मिनट है।
पेयरिंग ऑटोस्केल नियम
काम का बोझ कम होने पर आपको स्केलिंग-इन की योजना बनानी चाहिए। समान ऑटोस्केल स्थिति में जोड़े में ऑटोस्केल नियमों को परिभाषित करने पर विचार करें। एक ऑटोस्केल नियम को यह इंगित करना चाहिए कि जब कोई मीट्रिक ऊपरी थ्रेशोल्ड से अधिक हो जाता है तो सिस्टम को कैसे स्केल किया जाए। फिर अन्य नियम को परिभाषित करना चाहिए कि सिस्टम को फिर से कैसे स्केल किया जाए जब एक ही मीट्रिक कम सीमा से नीचे चला जाता है।
ऑटोस्केल नियमों का संयोजन
एकल स्वतः स्केल शर्त में कई स्वतः स्केल नियम हो सकते हैं (उदाहरण के लिए, स्केल-आउट नियम और संगत स्केल-इन नियम). हालाँकि, ऑटोस्केल स्थिति में ऑटोस्केल नियमों को सीधे संबंधित नहीं होना चाहिए। आप एक ही ऑटोस्केल स्थिति में निम्नलिखित चार नियमों को परिभाषित कर सकते हैं:
- HTTP कतार लंबाई 10 से अधिक है, तो 1 से स्केल आउट
- यदि CPU उपयोग 70%से अधिक है, तो 1 से स्केल आउट करें
- यदि HTTP कतार लंबाई शून्य है, तो 1 से स्केल करें
- यदि CPU उपयोग 50%से कम हो जाता है, तो 1 से स्केल करें
स्केल आउट करने के लिए है कि क्या निर्धारित करते हैं, autoscale क्रिया किया जाता है यदि स्केल-आउट नियमों के किसी भी को पूरा किया जाता है (HTTP कतार लंबाई 10 से अधिक या CPU उपयोग 70%से अधिक है)। स्केलिंग करते समय, autoscale क्रिया केवल तभी चलती है जब स्केल-इन नियमों के सभी पूरे होते हैं (HTTP कतार लंबाई शून्य तक कम हो जाती है और CPU उपयोग 50%से कम हो जाता है)। यदि आपको स्केल-इन नियमों में से केवल एक को पूरा करने की आवश्यकता है, तो आपको नियमों को अलग-अलग ऑटोस्केल शर्तों में परिभाषित करना होगा।