2012-04-17 13 views
10

में समवर्ती उपयोगकर्ता लोड कैसे उत्पन्न करें मेरे पास एक परीक्षण है जहां उपयोगकर्ता लॉग इन करेंगे और खोज क्षेत्र में खोज कीवर्ड दर्ज करेंगे और परिणाम प्राप्त करेंगे। अंत में लॉग आउट।जेएमटर

अब मैं जेएमटर का उपयोग करके समवर्ती परीक्षण करना चाहता हूं। तो यही वह है मुझे जो मिला है।

Test plan 
    Thread group 
    + Login request 
    + Synchronizing Controller 
    + Search string 
    + Synchronizing Controller 
    + Logout 

मैंने धागे की संख्या में 10 जोड़ा है। मैंने सिंक्रनाइज़िंग कंट्रोलर में 5 जोड़ा है। तो जब मैं परीक्षण चलाता हूं तो मुझे 5 उपयोगकर्ताओं की सहमति मिल जाएगी? शेष 5 उपयोगकर्ता एक साथ उपयोगकर्ता होंगे?

लॉगिन पृष्ठ लोड होने पर भी मैंने अनुरोध पर निर्भर किया है। इसलिए लॉगिन पर सहमति प्राप्त करने के लिए, मैंने लेनदेन नियंत्रक में सभी अनुरोध जोड़े हैं और लेन-देन नियंत्रक के रूप में बच्चे के रूप में सिंक्रनाइज़िंग कंट्रोलर जोड़ा है। अगर मैं इसे सही कर रहा हूं तो कृपया मुझे बताएं।

कृपया मुझे बताएं कि क्या विशिष्ट कार्रवाई के लिए समेकन प्राप्त करने का दूसरा तरीका है (उदा: 5 उपयोगकर्ता एक ही समय में लॉगिन बटन मार रहे हैं)।

उत्तर

16

सबसे पहले, आपको 'समवर्ती' और 'एक साथ' के बीच अंतर करने की कोशिश करनी चाहिए। वे आम तौर पर बहुत समान शब्द होते हैं लेकिन लोड परीक्षण में उनके अलग-अलग अर्थ होते हैं। एक साथ एक ही समय में दो या दो से अधिक अनुरोध का मतलब है। समवर्ती दो या दो से अधिक धागे (स्क्रिप्ट) समानांतर में चल रहे हैं।

तो, आप जो भी बात कर रहे हैं वह कई एक साथ अनुरोधों को अनुकरण करने के लिए जेएमटर को कॉन्फ़िगर करने का प्रयास कर रहा है। लेकिन वास्तव में, इसके मुकाबले बहुत अधिक बेहतर दृष्टिकोण है। एक ही अनुरोध पर एक ही अनुरोध को हिट करने की कोशिश करने पर ध्यान केंद्रित करने के बजाय, जो जेएमटर में स्पष्ट रूप से है, आपको अपने परीक्षण को उस प्रकार के यथार्थवादी प्रतिनिधित्व के रूप में स्थापित करना चाहिए, जिसे आप अपने आवेदन को समर्थन देना चाहते हैं। यदि आप यादृच्छिक प्रतीक्षा समय, थ्रूपुट नियंत्रकों और धागे की यथार्थवादी संख्या का उपयोग करके, यह अच्छी तरह से करते हैं, तो आप स्वचालित रूप से समवर्ती परीक्षण करेंगे और साथ ही साथ वास्तविक, वैध और उपयोगी प्रदर्शन परीक्षण भी चलाएंगे।

तो, मूल रूप से, सिंक्रनाइज़िंग टाइमर ड्रॉप करें, इसके बजाय निरंतर थ्रूपुट टाइमर का उपयोग करें, प्रतीक्षा समय कॉन्फ़िगर करें और फिर वांछित लोड उत्पन्न करने के लिए सही संख्याओं की गणना करें।

इस दृष्टिकोण में जोड़ा गया बोनस आपको झूठी नकारात्मकताओं को बढ़ाने की संभावना कम होगी। उदाहरण के लिए, यदि आप अपने सर्वर को 5 एक साथ लॉगिन अनुरोधों के साथ दबाते हैं तो आप पाएंगे कि यह कॉल एकल-थ्रेडेड है और प्रतिक्रिया समय बढ़ता है। लेकिन शायद इससे कोई फर्क नहीं पड़ता, शायद एक ही समय में दो लॉगिन कॉल की संभावना इतनी छोटी है कि कोड बदलने में समय बिताने के लायक नहीं है। लोड परीक्षण में यह एक बहुत ही महत्वपूर्ण अवधारणा है - शायद सबसे महत्वपूर्ण - आपके पास यथार्थवादी उद्देश्यों के साथ होना चाहिए, इनके बिना आप परीक्षण चला सकते हैं, झूठी बग ढूंढ सकते हैं और आम तौर पर हमेशा के लिए समय बर्बाद कर सकते हैं।

+1

बहुत उत्कृष्ट स्पष्टीकरण के लिए धन्यवाद। लेकिन मेरी स्थिति थोड़ा अलग है। मैं सिर्फ यह देखना चाहता हूं कि 5 उपयोगकर्ता एक ही समय में लॉगिन और खोज बटन हिट करते हैं जब मेरा सर्वर प्रतिक्रिया देता है। यही कारण है कि मैंने सिंक्रनाइज़ेशन नियंत्रक का उपयोग किया है। जब मैंने सिंक्रनाइज़ेशन नियंत्रक के साथ अपना परीक्षण चलाया, जिसके परिणाम मैं थोड़ा अलग हो रहा हूं। मैंने धागे समूह में 10 धागे और सिंक्रनाइज़ेशन में 5 का उल्लेख किया है। तो मैंने सोचा कि यह 5 समवर्ती उपयोगकर्ताओं और 5 एक साथ चलाएगा। लेकिन यह जिस तरह से चल रहा है वह नहीं। टेस्ट 2 बैचों में लॉगिन और खोज अनुरोध भेज रहा है। प्रत्येक बैच में 5 उपयोगकर्ता होते हैं। – user1169236

+1

फिर से, आपको समवर्ती और एक साथ के बीच अलग-अलग समझने की आवश्यकता है। वे भिन्न हैं। एक तुल्यकालिक टाइमर आपको एक साथ देगा, एकाधिक धागे आपको समेकन देंगे। –

+0

सुझावों के लिए धन्यवाद! मुझे समाधान मिला। – user1169236