इस प्रोजेक्ट के बारे में

Locust एक ओपन-सोर्स परफॉरमेंस और लोड टेस्टिंग टूल है जिसे HTTP और अन्य प्रोटोकॉल के लिए डिज़ाइन किया गया है। इसकी मुख्य ताकत डेवलपर्स को नियमित Python कोड का उपयोग करके टेस्ट परिदृश्य (scenarios) परिभाषित करने की अनुमति देने में है, जिससे GUI या डोमेन-विशिष्ट भाषाओं की आवश्यकता नहीं पड़ती। टेस्ट को कमांड लाइन से या बिल्ट-इन वेब-आधारित UI के माध्यम से चलाया जा सकता है, जो थ्रूपुट, रिस्पॉन्स टाइम और एरर्स जैसे रियल-टाइम मेट्रिक्स प्रदर्शित करता है — जिन्हें बाद के विश्लेषण के लिए एक्सपोर्ट भी किया जा सकता है। Locust में प्रत्येक यूजर एक greenlet (लाइटवेट कोरुटीन) के अंदर चलता है, जिससे डेवलपर्स को कॉलबैक के बिना लूप, कंडीशन्स और कैलकुलेशन के साथ ब्लॉकिंग-स्टाइल Python कोड लिखने की सुविधा मिलती है। यह टेस्ट को डीबग करना, वर्जन-कंट्रोल करना और CI/CD पाइपलाइनों में एकीकृत करना आसान बनाता है। Locust कई मशीनों पर हॉरिजॉन्टली स्केल करता है और इवेंट-ड्रिवन कॉन्करेंसी के लिए gevent का उपयोग करता है, जिससे प्रति प्रोसेस हजारों कॉन्करेंट यूजर्स संभव हो पाते हैं। हालांकि यह रॉ रिक्वेस्ट प्रति सेकंड के मामले में अनिवार्य रूप से उच्चतम प्रदर्शन करने वाला टूल नहीं हो सकता है, लेकिन प्रति यूजर इसका कम ओवरहेड इसे अत्यधिक कॉन्करेंट वर्कलोड को सिम्युलेट करने के लिए आदर्श बनाता है। यह टूल एक्सटेंसिबल है: यूजर्स स्टैंडर्ड Python लाइब्रेरीज़ इम्पोर्ट कर सकते हैं, नॉन-HTTP सिस्टम के लिए कस्टम क्लाइंट्स लिख सकते हैं, TimescaleDB जैसे डेटाबेस में रियल-टाइम रिपोर्टिंग प्लग इन कर सकते हैं, या कस्टम लोड शेप्स परिभाषित कर सकते हैं। कम्युनिटी प्लगइन्स इसकी क्षमताओं को और बढ़ाते हैं। Microsoft ने Locust के रखरखाव में योगदान दिया है और इसे स्पॉन्सर किया है। वे Azure Load Testing भी प्रदान करते हैं, जो एक मैनेज्ड सर्विस है जो बड़े पैमाने पर Locust टेस्ट चलाती है, Azure DevOps और GitHub के साथ एकीकृत होती है, और टेस्ट परिणामों को इंफ्रास्ट्रक्चर मेट्रिक्स के साथ सह-संबंधित करती है। Copilot द्वारा संचालित एक VS Code एक्सटेंशन एडिटर में सीधे Locust टेस्ट जेनरेट करने और चलाने में मदद करता है। सीखने और समस्या निवारण के लिए डॉक्यूमेंटेशन, StackOverflow और Discord के माध्यम से कम्युनिटी सपोर्ट और एक ब्लॉग उपलब्ध है। MIT लाइसेंस के तहत बनाए गए Locust को मूल रूप से Jonatan Heyman द्वारा बनाया गया था, जिसका वर्तमान रखरखाव Lars Holmberg द्वारा और UI विकास Andrew Baldwin द्वारा किया जा रहा है। प्रोजेक्ट सभी योगदानकर्ताओं को श्रेय देता है और Microsoft के निरंतर समर्थन को स्वीकार करता है।