इस लेख में, हम प्रदर्शन परीक्षण में थ्रूपुट के बारे में मुख्य बातों पर चर्चा करने जा रहे हैं।
विवरण शुरू करने से पहले, आइए प्रदर्शन परीक्षण की कुछ आवश्यक बातों पर एक नज़र डालें।
प्रदर्शन परीक्षण महत्वपूर्ण है क्योंकि:
आप अपने सॉफ़्टवेयर एप्लिकेशन के विकास चरण में जितनी जल्दी हो सके प्रदर्शन परीक्षण शुरू कर सकते हैं । इस तरह, आप अपने वेब सर्वर को अनुकूलित कर सकते हैं और बाद के चरणों में व्यावसायिक लागतों को रोक सकते हैं।
एप्लिकेशन के परिनियोजन के बाद प्रदर्शन में समस्याओं का पता लगाने का अर्थ है समस्याओं को ठीक करने के लिए बहुत सारे कार्य घंटे। तो यह बहुत महंगा हो सकता है.
जैसे ही एप्लिकेशन के मूल वेब पेज काम करते हैं, गुणवत्ता आश्वासन टीम को प्रारंभिक लोड परीक्षण करना होगा। उस बिंदु से, उन्हें प्रत्येक निर्माण के लिए नियमित रूप से प्रदर्शन परीक्षण करना चाहिए।
अनुप्रयोगों के प्रदर्शन परीक्षण के लिए विभिन्न उपकरण और मानदंड हैं। यहां हम एक महत्वपूर्ण उपाय यानी थ्रूपुट के बारे में बात करेंगे।
प्रत्येक सॉफ़्टवेयर एप्लिकेशन या वेबसाइट में बहुत सारे उपयोगकर्ता होते हैं जो अलग-अलग अनुरोध करते हैं। परीक्षकों को यह सुनिश्चित करना होगा कि एप्लिकेशन लाइव होने से पहले अनुरोधों की आवश्यक क्षमता को पूरा करता है।
प्रदर्शन परीक्षण की कुछ बुनियादी बातें हैं जिन्हें प्रक्रिया के दौरान मापने की आवश्यकता है। थ्रूपुट उनमें से एक है . आइए जानें कि प्रदर्शन परीक्षण में थ्रूपुट क्या है।
परीक्षण शुरू करने से पहले, हमें एक यथार्थवादी प्रदर्शन थ्रूपुट लक्ष्य निर्धारित करने की आवश्यकता है, ताकि हम अधिक सटीक और विश्वसनीय परिणाम प्राप्त कर सकें।
यथार्थवादी थ्रूपुट निर्धारित करने के लिए ये कुछ महत्वपूर्ण कारक हैं:
यहां, हम वास्तविक जीवन के उदाहरण की मदद से थ्रूपुट की अवधारणा को समझाएंगे। कल्पना कीजिए कि "यम्मी बर्गर" नाम का एक फास्ट फूड स्टॉल है। वे ग्राहकों के लिए बर्गर और फ्राइज़ परोसते हैं।
मान लीजिए कि "यम्मी बर्गर्स" के स्टॉल में तीन कर्मचारी हैं, और प्रत्येक कर्मचारी को एक ग्राहक को भोजन परोसने में हमेशा 5 मिनट लगते हैं।
इसलिए, यदि उनके पास तीन ग्राहकों को तीन कर्मचारियों द्वारा सेवा प्रदान करने के लिए पंक्तिबद्ध किया गया है, तो इसका मतलब है कि "यम्मी बर्गर" 5 मिनट में तीन ग्राहकों को भोजन परोस सकता है।
इसलिए, अगर हमें "यम्मी बर्गर" की प्रदर्शन रिपोर्ट बनाने की ज़रूरत है, तो यह दिखाएगा कि इसका थ्रूपुट प्रति पांच मिनट में तीन ग्राहक है।
यह यम्मी बर्गर्स की दुविधा है कि, चाहे कितने भी ग्राहक भोजन के लिए वहां इंतजार कर रहे हों, एक विशिष्ट समय सीमा के दौरान वे जिस अधिकतम संख्या को संभाल सकते हैं वह हमेशा समान होगी, यानी तीन। यह अधिकतम थ्रूपुट है .
जैसे-जैसे अधिक ग्राहक भोजन के लिए कतार में खड़े होते हैं, उन्हें कतार बनाकर अपनी बारी का इंतजार करना पड़ता है।
यही अवधारणा वेब एप्लिकेशन के परीक्षण पर भी लागू होती है।
यदि किसी वेब एप्लिकेशन को प्रति सेकंड 100 अनुरोध प्राप्त होते हैं, लेकिन यह प्रति सेकंड केवल 70 अनुरोधों को संभाल सकता है, तो शेष 30 अनुरोधों को कतार में प्रतीक्षा करनी होगी।
प्रदर्शन परीक्षण में, हम थ्रूपुट को "प्रति सेकंड लेनदेन" या टीपीएस के रूप में दर्शाते हैं।
किसी सॉफ़्टवेयर एप्लिकेशन के प्रदर्शन का परीक्षण करने के लिए Apache JMete r का उपयोग करना काफी लोकप्रिय है। JMeter समवर्ती उपयोगकर्ताओं की अधिकतम संख्या निर्धारित करने में सहायक है जिसे एप्लिकेशन संभाल सकता है और प्रदर्शन परीक्षण के लिए ग्राफिकल विश्लेषण भी प्रदान करता है।
जेएमटर थ्रूपुट के मूल्य को रिकॉर्ड करने के कई तरीके प्रदान करता है। यहां कुछ JMeter श्रोता दिए गए हैं जिनका उपयोग आप इस उद्देश्य के लिए कर सकते हैं:
JMeter एक टाइमर घटक, ' कॉन्स्टेंट थ्रूपुट टाइमर' भी प्रदान करता है, जिसका उपयोग आप एप्लिकेशन के लोड का परीक्षण करने के लिए प्रति सेकंड लेनदेन (टीपीएस) का मूल्य निर्धारित करने के लिए कर सकते हैं।
अब, हम JMeter का उपयोग करके प्रदर्शन परीक्षण में थ्रूपुट का उपयोग दिखाएंगे। मान लीजिए कि हम 100 समवर्ती थ्रेड्स के साथ एक नमूना परीक्षण करने जा रहे हैं और थ्रूपुट के मूल्य को ट्रैक करेंगे।
मान लीजिए कि हमारे सिस्टम पर JMeter की नवीनतम रिलीज़ स्थापित है, और हमने पहले ही अन्य सभी आवश्यक कॉन्फ़िगरेशन निष्पादित कर लिए हैं। अब, हमें एक परीक्षण योजना बनानी होगी।
इस परीक्षण में, हम पाँच थ्रेडग्रुप तत्वों को परिभाषित करने जा रहे हैं। इनमें से प्रत्येक तत्व का एक अलग रैंप-अप समय होगा यानी, 0, 15, 25, 35, और 45। रैंप-अप समय प्रत्येक थ्रेड को शुरू करने की अवधि है। हम इन थ्रेडग्रुप तत्वों में 100 उपयोगकर्ताओं को कॉन्फ़िगर करेंगे।
यदि हम बड़ी संख्या में उपयोगकर्ताओं को कॉन्फ़िगर करना चाहते हैं, तो अधिक रैंप-अप समय की आवश्यकता होगी।
इन थ्रेड समूहों में एक HTTP सैंपलर होगा जो एक सैंपल वेबसाइट (मान लीजिए www.samplesite.com) के होमपेज पर अनुरोध उत्पन्न करेगा।
उपयोग केस 1 में, हमारे पास एक थ्रेडग्रुप तत्व है जो 100 थ्रेड्स के साथ कॉन्फ़िगर किया गया है, और इसका रैंप-अप समय 0 है।
इसमें "थ्रेड्स की संख्या" फ़ील्ड 100 के रूप में सेट होगी। इसका मतलब है कि 100 उपयोगकर्ता एक बार में अनुरोध भेजेंगे। इसी तरह, हम शेष 4 थ्रेड्स को भी कॉन्फ़िगर कर सकते हैं और उनका रैंप-अप समय 15, 25, 35 और 45 के रूप में सेट कर सकते हैं। साथ ही, प्रत्येक थ्रेड समूह के लिए सैंपलर्स को नाम दें।
जैसा कि पहले उल्लेख किया गया है, ये HTTP नमूने नमूना वेबसाइट के मुख पृष्ठ की ओर इंगित करेंगे।
इन थ्रेड समूहों को उचित क्रम में चलाना आवश्यक है। इस प्रयोजन के लिए, नियंत्रण कक्ष से "परीक्षण योजना" का चयन करें, और "लगातार थ्रेड समूह चलाएँ" फ़ील्ड की जाँच करें।
"एग्रीगेट रिपोर्ट" एक श्रोता है जिसका उपयोग परीक्षण परिणामों का विश्लेषण और निरीक्षण करने के लिए किया जाता है। इस श्रोता का उपयोग करने के लिए, "टेस्ट प्लान" पर राइट-क्लिक करें और चुनें:
जोड़ें → श्रोता → समग्र रिपोर्ट
फिर परीक्षण चलाने के लिए स्टार्ट आइकन पर क्लिक करें।
अब, आइए देखें कि समग्र रिपोर्ट से थ्रूपुट के परिणामों को कैसे समझा जाए।
रैंप-अप टाइम 0 वाला पहला थ्रेड समूह दिखाता है कि सभी थ्रेड एक साथ शुरू करके सर्वर पर तत्काल लोड डालते हैं। इस परिदृश्य में थ्रूपुट काफी अधिक है, लेकिन यह व्यावहारिक नहीं है। इसलिए, यह यथार्थवादी आउटपुट नहीं दिखाएगा।
दूसरे और तीसरे थ्रेड समूहों में यथार्थवादी सीमा का रैंप-अप समय होता है, इसलिए उनके उचित प्रदर्शन थ्रूपुट दिखाने और लोड समय का अनुरोध करने की अधिक संभावना होती है।
थ्रेड समूह चार और पांच में रैंप-अप समय अधिक है, जिसका अर्थ है कि उनका थ्रूपुट कम हो जाएगा।
इसलिए, विश्वसनीय आउटपुट दूसरे और तीसरे थ्रेड समूह के परिणामों से निर्धारित किया जा सकता है।
किसी नई रिलीज़ या परिवर्तन की तैनाती का निर्णय विशिष्ट टीपीएस को संभालने के लिए एप्लिकेशन की क्षमता पर निर्भर करता है। इसलिए, प्रदर्शन परीक्षण योजना के कुछ निश्चित थ्रूपुट लक्ष्य हैं। लेकिन हमें यह सुनिश्चित करने की ज़रूरत है कि ये लक्ष्य यथार्थवादी हों और उत्पादन की वास्तविक विशेषताओं का प्रतिनिधित्व करें।
यदि हम अवास्तविक शर्तों का उपयोग करके इसे पास करते हैं तो परीक्षण योजना व्यर्थ है। उदाहरण के लिए, ऊपर वर्णित परीक्षण योजना में पहले थ्रेड समूह के लिए थ्रूपुट के उच्च मूल्य थे, लेकिन यह लाइव वातावरण के वास्तविक परिदृश्य को चित्रित नहीं कर रहा था।
इसलिए, ऐसे तरीकों का उपयोग करके, हम यह उचित विचार नहीं प्राप्त कर सकते हैं कि हमारा एप्लिकेशन वास्तविक लोड को संभालने जा रहा है या नहीं। इसलिए, उपयुक्त परीक्षण स्थापित करना महत्वपूर्ण है।
संक्षेप में, थ्रूपुट वेब अनुप्रयोगों का एक महत्वपूर्ण प्रदर्शन संकेतक है । लेकिन, केवल थ्रूपुट मेट्रिक्स पर निर्भर रहना पर्याप्त नहीं है। इसलिए, इसे विलंबता और प्रतिक्रिया समय के साथ जांचने की आवश्यकता है ।
निर्धारित प्रदर्शन परीक्षण लक्ष्यों को प्राप्त करने के लिए यथार्थवादी थ्रूपुट बनाना भी वास्तव में महत्वपूर्ण है।