jmeter processors controllers
JMeter में पूर्व-प्रोसेसरों और नियंत्रकों का अवलोकन (भाग- III):
=> यहाँ मुफ्त JMeter ट्यूटोरियल की व्यापक श्रृंखला का पालन करें
यह आलेख JMeter में प्री-प्रोसेसर्स, पोस्ट-प्रोसेसर्स और कंट्रोलर्स के उपयोग के माध्यम से उपयोगकर्ताओं का मार्गदर्शन करेगा। कंट्रोलर बहुत उपयोगी होते हैं क्योंकि वे आपके परीक्षण परिदृश्य बनाते हैं।
आप विभिन्न परिदृश्यों का परीक्षण करना चाह सकते हैं जिसमें आप प्रतिक्रिया समय और अन्य प्रदर्शन कारकों की निगरानी के लिए एक सर्वर पर भेजे जा रहे अनुरोध के अपने अनुक्रम को कॉन्फ़िगर करना चाहते हैं।
आप क्या सीखेंगे:
- प्री-प्रोसेसर्स
- उपयोगकर्ता पैरामीटर
- सैंपल टाइम आउट
- नियंत्रकों
- वास्तविक समय उदाहरण
- JMeter की रिकॉर्डिंग टेम्प्लेट
- निष्कर्ष
- अनुशंसित पाठ
प्री-प्रोसेसर्स
ये वे तत्व हैं जो एक नमूना निष्पादित होने से पहले निष्पादित किए जाते हैं। आप नमूने के साथ प्री-प्रोसेसर संलग्न कर सकते हैं जिसके लिए आप अनुरोध में कुछ बदलाव करना चाहते हैं।
एक मामले में सबसे सरल एक HTTP अनुरोध के साथ 'नमूना टाइमआउट' प्रीप्रोसेसर को जोड़ा जा सकता है ताकि यह अनुरोध केवल परिभाषित समय के लिए चले। यह भी सुनिश्चित करता है कि यह संशोधन केवल माता-पिता नमूना के लिए किया जाता है।
नीचे कुछ प्री-प्रोसेसर JMeter में उपयोग किए गए हैं:
- बीन शेल प्री-प्रोसेसर
- HTML लिंक पार्सर
- HTTP URL री-राइटिंग
- JDBC प्रीप्रोसेसर
- सैंपल टाइमआउट
- उपयोगकर्ता पैरामीटर
ज्यादातर आमतौर पर इस्तेमाल किए जाने वाले उदाहरणों के साथ नीचे दिए गए हैं। आपको अपनी परियोजनाओं में सभी की आवश्यकता हो सकती है या नहीं भी। अपने प्रोजेक्ट से संबंधित परिदृश्यों की पहचान करने और वास्तविक समय प्रदर्शन परिदृश्यों को कवर करने में आपकी सहायता करने का प्रयास करें।
उपयोगकर्ता पैरामीटर
उपयोगकर्ता पैरामीटर का उपयोग चरों में मान को परिभाषित करने के लिए किया जाता है इससे पहले कि वे सैम्पलर में उपयोग किए जाते हैं। जब JMeter इस प्री-प्रोसेसर तत्व को निष्पादित करता है, तो यह वैरिएबल में उन मानों को संग्रहीत करता है, जिन्हें उसी थ्रेड समूह के भीतर किसी भी Samplers द्वारा संदर्भित किया जा सकता है।
नेटवर्क सुरक्षा कुंजी कहां स्थित है
यदि आपके पास अतिरिक्त थ्रेड्स की तुलना में 'उपयोगकर्ता पैरामीटर' में उपयोगकर्ताओं की संख्या से अधिक थ्रेड हैं, तो वे फिर से मानों के माध्यम से पुन: प्रसारित करेंगे।
उदाहरण के लिए, आपके थ्रेड समूह में 5 उपयोगकर्ता हैं, लेकिन पूर्व-प्रोसेसर में केवल 3 हैं, तो आपके 4वेंऔर एक 5वेंधागा का उपयोग करेगा param1 तथा परम २ ।
सैंपल टाइम आउट
इस प्री-प्रोसेसर का उपयोग अनुरोधों के लिए टाइमआउट अवधि को परिभाषित करने के लिए किया जाता है।
उदाहरण के लिए, यदि आपने 400 मिलीसेकेंड में से एक नमूना समय लगाया है, तो सभी अनुरोधों में जो समय लग रहा है> 400 में एक असफल प्रतिक्रिया होगी। कृपया नीचे स्क्रीनशॉट देखें।
नियंत्रकों
वास्तविक समय JMeter परीक्षण योजना के निर्माण में नियंत्रकों का बहुत महत्व है। यह उस क्रम को परिभाषित करता है जिसमें सर्वर को अनुरोध भेजा जाता है।
उदाहरण के लिए, यदि आप एक वेब एप्लिकेशन का परीक्षण करना चाहते हैं जिसमें आप एक बार लॉगिन करना चाहते हैं और सभी पुनरावृत्तियों के लिए आइटम चयन एक-एक करके जाने का अनुरोध करते हैं। परीक्षण के तहत सर्वर पर जाने वाले अनुरोध के प्रवाह को प्रबंधित करके नियंत्रक इसे संभव बनाते हैं।
नीचे JMeter में सबसे अधिक उपयोग किए जाने वाले नियंत्रक हैं
- साधारण नियंत्रक
- मॉड्यूल नियंत्रक
- वन्स ओनली कंट्रोलर
- इंटरलेव नियंत्रक
- लूप नियंत्रक
- अगर नियंत्रक
- प्रत्येक नियंत्रक के लिए
- रिकॉर्डिंग नियंत्रक और आदि,
साधारण नियंत्रक
सरल नियंत्रक कोई विशिष्ट कार्य नहीं करता है। यह सिर्फ एक प्रकार का कंटेनर है जिसमें आप अपनी परीक्षा योजना को आसानी से समझने के लिए अपने समान अनुरोध रख सकते हैं।
लूप नियंत्रक
यदि आप थ्रेड समूह में निर्दिष्ट से अधिक पुनरावृत्तियों को चलाने के लिए कुछ विशिष्ट अनुरोध चाहते हैं, तो आप उन्हें लूप नियंत्रक के तहत रख सकते हैं और नियंत्रक सेटिंग्स में लूप काउंट दर्ज कर सकते हैं।
उदाहरण: यदि आपके पास 1 उपयोगकर्ता और 3 पुनरावृत्तियों के साथ एक थ्रेड समूह है, तो इस समूह के तहत आपके सभी अनुरोध 3 बार चलेंगे। अब, यदि आपके पास लूप काउंट 2 के साथ एक लूप कंट्रोलर के तहत दो HTTP सैम्पलर हैं, तो ये दोनों सैम्पलर 1 * 3 * 2 = 6 बार चलेंगे।
कृपया नीचे स्क्रीनशॉट देखें जो इसे आगे बताते हैं
वन्स ओनली कंट्रोलर
इस नियंत्रक का उपयोग तब किया जाता है जब आप थ्रेड समूह में कई थ्रेड होने पर भी केवल एक बार कुछ विशिष्ट अनुरोध चलाना चाहते हैं। सबसे सरल उदाहरण जो माना जा सकता है वह है 'वेबसाइट होम पेज ला रहा है' या 'वेब एप्लिकेशन में लॉगिन करें'। रियल टाइम परिदृश्य यह चाहेगा कि यह केवल एक बार ही हो और अन्य अनुरोध जैसे कि खोज या संपादित करें / हटाएं कई बार होने के लिए।
अनुरोध जिसे केवल एक बार निष्पादित किया जाना है उसे केवल एक बार नियंत्रक के तहत रखा जा सकता है। अपने संदर्भ के लिए नीचे स्क्रीनशॉट देखें। एक बार केवल नियंत्रक सेटिंग्स मूल थ्रेड समूह सेटिंग्स बायपास करें।
रिकॉर्डिंग नियंत्रक
साधारण नियंत्रक की तरह, रिकॉर्डिंग नियंत्रक सर्वर को भेजे जा रहे अनुरोधों के किसी भी क्रम को संशोधित नहीं करता है। इसका उपयोग HTTP (S) स्क्रिप्ट रिकॉर्डर के साथ किया जाता है। इस गैर-परीक्षण तत्व के साथ रिकॉर्ड किए गए सभी अनुरोध रिकॉर्डिंग नियंत्रक के तहत सहेजे जाते हैं।
सर्वर पर किए गए अनुरोधों को सहेजने के लिए आपको लक्ष्य नियंत्रक निर्दिष्ट करने की आवश्यकता है।
रिकॉर्डिंग नियंत्रक और HTTP (एस) स्क्रिप्ट रिकॉर्डर तस्वीर में आता है जब परीक्षकों के अनुरोध URL और मापदंडों की जानकारी नहीं होती है। वे बस रिकॉर्ड कर सकते हैं और सभी अनुरोधों को अपने सर्वर पर कब्जा कर सकते हैं। यह मोबाइल के साथ-साथ वेब प्रोजेक्ट्स के लिए भी काम करता है।
थ्रूपुट नियंत्रक
इस नियंत्रक का उपयोग निष्पादन प्रवाह को नियंत्रित करने के लिए भी किया जाता है। जैसा कि नीचे की कतरन में देखा गया है, इस नियंत्रक को दो भागों में विभाजित किया गया है:
प्रतिशत निष्पादन - यह चयन जेमीटर को इस नियंत्रक के तहत रखे गए नमूने के लिए कुल पुनरावृत्तियों का केवल एक निश्चित प्रतिशत निष्पादित करेगा। उपयोगकर्ता स्तर पर इसे नियंत्रित करने के लिए आप 'प्रति उपयोगकर्ता' चेकबॉक्स भी देख सकते हैं।
उदाहरण के लिए, थ्रेड समूह को 10 उपयोगकर्ताओं के लिए कॉन्फ़िगर किया गया है और लूप काउंट 5 है। इसलिए, कुल पुनरावृत्तियों 50 हैं। यदि% निष्पादन 50% पर सेट है, तो थ्रूपुट नियंत्रक के तहत सभी नमूने केवल 25 पुनरावृत्तियों (50 का 50%) बना देंगे।
कुल परीक्षाएँ - यह उपयोगकर्ताओं को सीधे इस नियंत्रक के तहत निहित नमूनों के लिए पुनरावृत्तियों की संख्या निर्दिष्ट करने देता है।
इंटरलेव नियंत्रक
यह नियंत्रक आपको n के तरीकों में अनुक्रम को संशोधित करके अपने प्रदर्शन परीक्षण के दायरे को बढ़ाने देता है ताकि आपको सर्वर पर लोड का परीक्षण करने के लिए मिलें जब अनुप्रयोग विभिन्न अनुक्रमों के साथ अनुरोध को मार रहे हों। इंटरलीव कंट्रोलर इसके अंतर्गत आने वाले सैम्पलरों के साथ वैकल्पिक चयन करता है।
यदि इस नियंत्रक के अंतर्गत साधारण नियंत्रक जैसे अन्य नियंत्रक हैं, तो इंटरलेवेव नियंत्रक प्रत्येक पुनरावृत्ति के लिए एक कंटेनर से प्रत्येक के लिए एक नमूना चुनने का विशेषाधिकार देता है। इसे आगे समझाने के लिए, नीचे दिए गए परीक्षण योजना पर विचार करें।
तो, Jmeter प्रत्येक पुनरावृत्ति के लिए नियंत्रकों के बीच वैकल्पिक रूप से पुनरावृति करेगा। इसलिए, अनुक्रम नीचे उल्लेख किया जाएगा
अनुरोध 1 -> अनुरोध 3 -> अनुरोध 5 - अनुरोध 2 -> अनुरोध 4 -> अनुरोध 6
कृपया नीचे दिए गए JMeter परिणाम को थ्रेड्स की संख्या = 2 और लूप काउंट = 2 के साथ देखें।
बाहरी जुड़ाव बनाम पूर्ण बाहरी जुड़ाव
ऊपर के उदाहरण में, जेमीटर अगले लूप / पुनरावृत्ति के साथ इंटरलीविंग है। इंटरलीव कंट्रोलर में ऐसी सेटिंग्स होती हैं जो JMeter को हर नए धागे के साथ वैकल्पिक अनुरोध भेज सकती हैं।
कृपया नीचे परिणाम देखें। यह उन परिदृश्यों में उपयोगी है, जहां आप एक ही मशीन से अनुरोध के विभिन्न अनुक्रम के साथ अनुक्रमिक या समवर्ती लोड मार सर्वर चाहते हैं।
रैंडम नियंत्रक
यह लगभग इंटरलेव नियंत्रक की तरह काम करता है, लेकिन नमूने को क्रम में नहीं लेता है। यह बस एक यादृच्छिक आधार पर उप नियंत्रकों और उनके अंदर के नमूने का चयन करता है।
अगर नियंत्रक
यदि नियंत्रक एक समान तरीके से काम करता है, तो किसी भी प्रोग्रामिंग भाषा में IF अभिव्यक्ति का व्यवहार किया जाता है। शर्त को पहले सत्यापित किया जाता है और फिर इस कंटेनर के तहत घटकों को निष्पादित किया जाता है यदि स्थिति TRUE है, अन्यथा, IF नियंत्रक के बाहर के तत्वों को निष्पादित किया जाएगा।
उदाहरण : इंटरलेव नियंत्रक से पहले के उदाहरणों में से एक के साथ जारी रखते हुए, अब दो इंटरलीव कंट्रोलर में से एक को IF कंट्रोलर एंड कंडीशन '$ (COUNT) के तहत रखा गया है।<10 is added as a condition. Variable COUNT is defined in config element “User Defined Variables” and is given a value equal to 11. Configuration is described below
मान को COUNT चर पर परिभाषित करना और असाइन करना।
में परिभाषित करने की स्थिति अगर नियंत्रक समायोजन। Jmeter इस शर्त को मान्य करेगा और यदि TRUE, इस कंटेनर के तहत ब्लॉक निष्पादित करेगा।
जैसा कि आप नीचे परीक्षण योजना से देख सकते हैं, केवल IF3, Request4 और Request5 निष्पादन स्थिति के रूप में मूल्यांकन किया जाएगा असत्य ।
जबकि नियंत्रकों
यह नियंत्रक इसके तहत घटकों को निष्पादित करता है जब तक कि स्थिति झूठी नहीं हो जाती।
उदाहरण के लिए, हम कहते हैं, जबकि एक शर्त है ($ (गणना)<10), it will execute the child elements until the condition is false. To test this, there should be a counter which gets increment or decrement on each iteration and then condition is evaluated. Config Element “Counter” can be used to serve this purpose.
'काउंटर' कॉन्फ़िगर तत्व को 1 पर शुरू करने के लिए कॉन्फ़िगर करें और फिर प्रत्येक पुनरावृत्ति पर वेतन वृद्धि करें। अधिक स्पष्टीकरण के लिए नीचे देखें:
हम अपने वीडियो ट्यूटोरियल में बाकी कंट्रोलर्स पर टच करेंगे।
वास्तविक समय उदाहरण
आइए एक परिदृश्य पर विचार करें, जिसमें परीक्षण टीम को परीक्षण के तहत सर्वर से टकराने वाले सभी अनुरोधों के URL और मापदंडों का पता नहीं है। अब, सर्वर को लोड करने के लिए उन्हें अनुरोधों को रिकॉर्ड करना होगा और फिर लोड को क्रमिक रूप से या समवर्ती रूप से संशोधित करना होगा और प्रदर्शन परीक्षण करने के लिए उनमें से परिदृश्य बनाना होगा।
कदम
जावा जुड़ा हुआ सूची दोगुना जुड़ा हुआ है
- रिकॉर्डिंग नियंत्रक के लिए Jmeter में एक टेम्पलेट जोड़ें
- अपने ब्राउज़र पर प्रॉक्सी सेट करें और HTTP (एस) स्क्रिप्ट रिकॉर्डर में एक ही पोर्ट चुनें
- अनुरोधों को रिकॉर्ड करें
- टेस्ट प्लान को संशोधित करें और लोड बढ़ाएं
- तदनुसार लेनदेन समूह
- अनुरोध के विभिन्न संयोजनों का प्रयास करें
JMeter की रिकॉर्डिंग टेम्प्लेट
JMeter के पास कुछ पूर्वनिर्धारित टेम्पलेट भी हैं। फ़ाइल मेनू से 'टेम्पलेट' विकल्प चुनें। खुलने वाले विंडो में 'रिकॉर्डिंग' विकल्प चुनने के लिए टेम्पलेट चुनें और क्रिएट पर क्लिक करें।
जैसे ही आप इस रिकॉर्डिंग टेम्प्लेट का चयन करते हैं, आपको टेस्ट प्लान में पहले से जोड़े गए कुछ घटक दिखाई देंगे।
- वर्क बेंच के तहत HTTP (s) स्क्रिप्ट रिकॉर्डर
- HTTP रिक्वेस्ट डिफॉल्ट्स और HTTP कुकी मैनेजर
- थ्रेड समूह के तहत रिकॉर्डिंग नियंत्रक।
आप या तो JMeter प्रॉक्सी सर्वर से बात करने के लिए अपने ब्राउज़र पर प्रॉक्सी सेटिंग्स कर सकते हैं या अनुरोध रिकॉर्ड करने और फिर निर्यात करने के लिए CHROME एक्सटेंशन ब्लेज़मीटर का उपयोग कर सकते हैं। Jmx फ़ाइल Jmeter के लिए। स्क्रिप्ट रिकॉर्ड करने और फिर इसे JMeter पर निर्यात करने के लिए कई अन्य एक्सटेंशन हैं। BADBOY टूल वेब और मोबाइल दोनों हिट्स को रिकॉर्ड करने के लिए जेमीटर के साथ भी अच्छा काम करता है।
पर क्लिक करें। Jmx के लिए रिकॉर्ड किए गए अनुरोध को निर्यात करने के लिए jmx विकल्प। अब Jmeter से, खोलें। jmx फ़ाइल और अनुरोधों और प्रत्येक अनुरोध से जुड़े मापदंडों को देखें।
निष्कर्ष
अब तक, यह माना जाता है कि आप सभी को JMeter के मूल तर्क से खुद को बहुत परिचित होना चाहिए, यह कैसे लोड को अनुकरण करता है, विभिन्न प्रकार के Samplers के साथ कैसे खेलें, नियंत्रक के उपयोग के साथ निष्पादन प्रवाह को कैसे नियंत्रित करें और चर का उपयोग करें और पुनरावृत्तियों में छोरों को चलाने के लिए कार्य करता है। यह निश्चित रूप से JMeter पर ट्यूटोरियल की श्रृंखला का अंत नहीं है।
कई वीडियो ट्यूटोरियल हैं जोमीटर में अलग-अलग परिदृश्यों पर अधिक हाथों से परीक्षकों का मार्गदर्शन करेंगे और प्रत्येक JMeter घटक का सर्वोत्तम तरीके से कैसे उपयोग किया जा सकता है, इसका पालन करना है।
=> JMeter वीडियो ट्यूटोरियल की पूरी सूची यहां देखें
कृपया अपनी टिप्पणी या प्रश्न हमारे साथ साझा करें।
अनुशंसित पाठ
- Jmeter नियंत्रकों भाग 1
- Jmeter नियंत्रकों भाग 2
- उदाहरण के साथ JMeter सहसंबंध कैसे प्राप्त करें
- JMeter में HTTP रिक्वेस्ट के साथ कार्य करना
- JMeter में एफ़टीपी अनुरोध के साथ कार्य करना
- JMeter में पोस्ट प्रोसेसर का उपयोग करना (नियमित अभिव्यक्ति एक्सट्रैक्टर)
- शीर्ष 5 JMeter प्लगइन्स और उनका उपयोग कैसे करें (उदाहरणों के साथ)
- जेमिटर टाइमर: लगातार, बीनशेल और गासियन रैंडम टाइमर