परफ़ॉर्मेंस टेस्टिंग क्या है?
परफ़ॉर्मेंस टेस्टिंग मापती है कि सिस्टम निर्धारित वर्कलोड में कैसे व्यवहार करता है: रिस्पॉन्स टाइम (आमतौर पर औसत नहीं, 95वाँ पर्सेंटाइल), थ्रूपुट (रिक्वेस्ट प्रति सेकंड) और एरर रेट, साथ में CPU, मेमोरी और डेटाबेस की संतृप्ति पर नज़र। लोड टेस्टिंग अपेक्षित ट्रैफ़िक इस्तेमाल करती है, स्ट्रेस टेस्टिंग उससे आगे जाकर टूटने का बिंदु खोजती है, सोक टेस्टिंग घंटों तक लोड रखकर लीक उजागर करती है, और स्पाइक टेस्टिंग अचानक उछाल से रिकवरी जाँचती है।
गाइड पढ़ें: परफ़ॉर्मेंस टेस्टिंग क्या है?
परफ़ॉर्मेंस टेस्ट डेटा जनरेटर कैसे इस्तेमाल करें
- हर पंक्ति में एक endpoint और उसका ट्रैफ़िक हिस्सा लिखें (जैसे "GET /api/products 45")।
- virtual users, अवधि और ramp-up तय करें, फिर think-time की रेंज और वितरण।
- चाहें तो payload साइज़ की रेंज और दोहराने योग्य सैंपल के लिए seed भी दें।
- मॉडल, चार्ट और टूल के लिए तैयार स्निपेट पाने के लिए "Generate" दबाएँ।
- k6 options अपनी स्क्रिप्ट में चिपकाएँ या JMeter की वैल्यू GUI में लागू करें।
परफ़ॉर्मेंस टेस्ट डेटा जनरेटर की खूबियाँ
- सरल "METHOD /path weight" पंक्तियों से रिक्वेस्ट मिक्स, जिसे 100% पर सामान्यीकृत किया जाता है
- uniform, normal, exponential या constant वितरण से think-time सैंपल
- यूज़र और अवधि के हिसाब से बनी ramp प्रोफ़ाइल (ramp-up, steady state, ramp-down); ramp-down तय अवधि ख़त्म होने के बाद चलता है
- क्षमता नियोजन के लिए throughput और कुल रिक्वेस्ट के अनुमान
- stages, weighted endpoint चयन और think-time फ़ंक्शन वाला k6 options स्निपेट
- JMeter मैपिंग (Thread Group, Throughput Controller, timer) और JSON सिनेरियो एक्सपोर्ट
परफ़ॉर्मेंस टेस्ट डेटा जनरेटर का उदाहरण
browse-प्रधान ई-कॉमर्स workload
इनपुट:
GET /api/products 45
GET /api/products/{id} 25
POST /api/cart 15
POST /api/checkout 5
GET /api/account 10
Users: 50 · Duration: 300 s · Ramp-up: 60 s · Think: 500–3000 ms normal · Seed: workload-1आउटपुट:
Est. throughput: 27.2 req/s · Est. total requests: 7,352 (ramp-up + steady state)
Request mix: products 45% (3,308) · product detail 25% (1,838) · cart 15% (1,103) · checkout 5% (368) · account 10% (735)
Ramp profile: 0–60 s ramp-up to 50 · 60–300 s steady · 300–330 s ramp-down to 0परफ़ॉर्मेंस टेस्ट डेटा जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल
रिक्वेस्ट मिक्स क्या है?
हर endpoint को ट्रैफ़िक का कितना हिस्सा मिलता है, जैसे 60% product listing, 25% product detail, 15% checkout। वज़न 100% पर सामान्यीकृत होकर k6 चयन कोड और JMeter Throughput Controller में बदल दिए जाते हैं।
कौन-कौन से think-time वितरण सपोर्ट हैं?
uniform, normal (मध्य बिंदु के आस-पास घंटी जैसा वक्र), exponential (कई छोटे विराम, गिने-चुने लंबे) और constant। असली यूज़र normal या exponential के सबसे क़रीब होते हैं।
throughput का अनुमान कैसे लगता है?
हर virtual user (think time + लगभग 200 ms सर्विस टाइम) में एक रिक्वेस्ट भेजता है। इसे यूज़र संख्या से गुणा करने पर steady-state requests per second मिलता है; इसे सिर्फ़ नियोजन का आँकड़ा मानें।
ramp प्रोफ़ाइल में क्या होता है?
ramp-up, steady state और ramp-down चरण, उनकी अवधि और लक्षित यूज़र संख्या के साथ, जो k6 stages और JMeter thread group सेटिंग के रूप में एक्सपोर्ट होते हैं। ramp-up और steady state तय अवधि को भरते हैं; ramp-down (उसका 10%, 5 से 30 s के बीच) उसके बाद चलता है और रिक्वेस्ट के अनुमान में नहीं गिना जाता।
क्या मैं यह मॉडल एक्सपोर्ट कर सकता हूँ?
हाँ — JSON सिनेरियो में मिक्स, stages, think-time सैंपल और payload साइज़ होते हैं, ताकि आप उसे अपने ख़ुद के harness में दे सकें।
तकनीकी नोट्स
throughput एक closed workload मॉडल मानकर निकाला जाता है: हर virtual user रिस्पॉन्स का इंतज़ार करता है (लगभग 200 ms माना गया), फिर think time तक रुकता है और यही दोहराता है। यह अनुमान जान-बूझकर सरल रखा गया है — ज़्यादा सटीक आँकड़े के लिए सर्विस टाइम की जगह अपना मापा हुआ p50 रखें।
normal think time मध्य बिंदु के आस-पास Box–Muller रूपांतरण से सैंपल किए जाते हैं, जिसमें मानक विचलन रेंज का एक चौथाई होता है; exponential सैंपल मध्य बिंदु को माध्य मानते हैं और अधिकतम के तीन गुने पर सीमित कर दिए जाते हैं।
संदर्भ
- Apache JMeter User's ManualJMeter से लोड टेस्ट कैसे बनाएँ, पैरामीटराइज़ करें और चलाएँ, और उसके लिसनर व रिपोर्ट कैसे पढ़ें।
- Release It! Second Edition: Design and Deploy Production-Ready Software (Michael T. Nygard)स्थिरता पैटर्न — टाइमआउट, सर्किट ब्रेकर, बल्कहेड, बैक-प्रेशर — और वे विफलता के तरीके जिन्हें लोड टेस्टिंग खोजने के लिए है।
- Site Reliability Engineering: How Google Runs Production Systemsसर्विस लेवल ऑब्जेक्टिव, एरर बजट, "चार गोल्डन सिग्नल" की निगरानी और ओवरलोड संभालना — लचीलेपन का परिचालन पक्ष।