paint-brush
WARP और स्पीडटेस्ट के साथ मिनियो को बेंचमार्क करनाद्वारा@minio
12,473 रीडिंग
12,473 रीडिंग

WARP और स्पीडटेस्ट के साथ मिनियो को बेंचमार्क करना

द्वारा MinIO8m2023/11/08
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

जब प्रदर्शन महत्वपूर्ण हो, तो आपको यह जानना होगा कि आप यथासंभव सर्वोत्तम प्रदर्शन प्राप्त कर रहे हैं।
featured image - WARP और स्पीडटेस्ट के साथ मिनियो को बेंचमार्क करना
MinIO HackerNoon profile picture
0-item
1-item


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


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


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


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


WARP और स्पीडटेस्ट के बीच कुछ महत्वपूर्ण अंतर हैं। WARP एक संपूर्ण उपकरण है जो WARP क्लाइंट द्वारा संचालित संचालन के माध्यम से आपके MiniIO क्लस्टर के प्रदर्शन का परीक्षण करता है। क्लाइंट मशीनें आपके वितरित मिनियो क्लस्टर में पूरे नेटवर्क में ऑब्जेक्ट के पुट और गेट्स का संचालन कर रही हैं। यह WARP को प्रत्याशित क्लाइंट-सर्वर प्रदर्शन के परीक्षण के लिए एक उत्कृष्ट तंत्र बनाता है। इसके विपरीत, स्पीडटेस्ट एक ही क्लस्टर में अन्य मिनिओ इंस्टेंसेस पर वस्तुओं के पुट और गेट्स संचालित करने के लिए मिनिओ इंस्टेंस पर चलता है। इस प्रकार, स्पीडटेस्ट आपको बताता है कि प्रदर्शन समीकरण का सर्वर पक्ष क्या करने में सक्षम है।


WARP में लगभग हर परीक्षण (GET, PUT, DELETE, LIST, STAT, RETENTION) शामिल है जिसे आप ऑब्जेक्ट स्टोरेज के विरुद्ध चलाना चाहते हैं, और टेस्ट रन में आपके कार्यभार से मेल खाने के लिए ऑब्जेक्ट आकारों का एक कस्टम मिश्रण शामिल हो सकता है। स्पीडटेस्ट अधिकतम थ्रूपुट को शीघ्रता से इंगित करने के लिए निर्धारित परीक्षण मापदंडों के माध्यम से चलता है। जबकि WARP को अतिरिक्त सॉफ़्टवेयर की आवश्यकता होती है, स्पीडटेस्ट को MiniIO के साथ शामिल किया गया है और इसे mc इंटरफ़ेस या MiniIO कंसोल से चलाया जा सकता है। समस्या निवारण में सहायता के लिए, ग्राहक एक क्लिक से मिनियो इंजीनियरों के साथ स्पीडटेस्ट परिणाम साझा कर सकते हैं।

WARP: एक पूर्ण ऑब्जेक्ट स्टोरेज बेंचमार्किंग टूल

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


ताना प्रवाह


इस डेमो के लिए. हम वितरित मोड में AWS पर चलने वाले MiniIO का परीक्षण करने के लिए WARP चलाने जा रहे हैं। हम हाल ही में अक्सर ऐसा कर रहे हैं, इसलिए हम संभावित और वर्तमान ग्राहकों को उनके परीक्षण के द्वारा मिले उच्चतम प्रदर्शन वाले कॉन्फ़िगरेशन के बारे में सलाह दे सकते हैं।


WARP GitHub रिपॉजिटरी में स्थित है, जहां आपको विस्तृत दस्तावेज़ भी मिलेंगे।


हम वितरित मोड में MiniIO को तैनात करके शुरुआत करने जा रहे हैं। आप MiniIO डाउनलोड कर सकते हैं और इसे अपने वातावरण में स्वयं इंस्टॉल कर सकते हैं, या आप AWS EC2 पर MiniIO इंस्टॉल करने के लिए इस ट्यूटोरियल का अनुसरण कर सकते हैं।


किसी भी तरह से, हम एक वितरित मिनियो परिनियोजन के साथ शुरुआत करने जा रहे हैं:


मिनियो आर्किटेक्चर


एक बार जब मिनियो चालू हो जाएगा और चलने लगेगा तो आप WARP के साथ प्रदर्शन को मापने में सक्षम होंगे, तो चलिए शुरू करते हैं।

चरण 0: डिस्ट्रीब्यूटेड मिनिआईओ के साथ 4 इंस्टेंसेस (जिन्हें नोड्स भी कहा जाता है) बनाएं।

सभी अमेज़ॅन यूआई या एडब्ल्यूएस सीएलआई के लिए, कृपया इंस्टेंस तैनात करने के लिए पिछले ब्लॉग पोस्ट के चरणों का पालन करें, लेकिन अतिरिक्त स्टोरेज को कॉन्फ़िगर न करें। WARP चलाने वाले इंस्टेंसेस इतनी शक्तिशाली होनी चाहिए कि वे जल्दी से ऑब्जेक्ट उत्पन्न कर सकें और PUT और GET ऑपरेशंस को माप सकें, लेकिन MiniIO नोड के लिए आवश्यक स्टोरेज वॉल्यूम की आवश्यकता नहीं होती है।


उदाहरण बनाना

चरण 2: WARP क्लाइंट पर /etc/hosts फ़ाइल में होस्ट जोड़ें।

  1. मिनिओ इंस्टेंस के आईपी पते प्राप्त करें
  2. WARP क्लाइंट के IP पते प्राप्त करें
  3. उन पते को /etc/hosts फ़ाइल में जोड़ें:


 172.31.23.237 host1 172.31.26.78 host2 172.31.26.90 host3 172.31.19.110 host4 172.31.27.18 warp1 172.31.23.81 warp2 172.31.19.28 warp3 172.31.19.7 warp4


ध्यान दें कि हम होस्टों को लगातार क्रम में सूचीबद्ध करने और उनके साथ काम करने की अनुशंसा करते हैं। यह कमांड लाइन से WARP लॉन्च करना सरल बनाता है और प्रत्येक WARP क्लाइंट और MiniIO होस्ट का पता लगाना आसान बनाता है।

चरण 3: क्लाइंट पर WARP इंस्टॉल करें और इसे चलाएं।

 [root@ip-172-31-19-7 ec2-user]# wget https://github.com/minio/warp/releases/download/v0.5.5/warp_0.5.5_Linux_arm64.tar.gz 2022-02-08 20:06:04 (66.3 MB/s) - 'warp_0.5.5_Linux_arm64.tar.gz' saved [3943887/3943887] [root@ip-172-31-19-7 ec2-user]# tar -xzvf warp_0.5.5_Linux_arm64.tar.gz LICENSE README.md warp_logo.png warp [root@ip-172-31-19-7 ec2-user]# ./warp client warp: Listening on :7761


ध्यान दें कि प्रत्येक WARP क्लाइंट पोर्ट 7761 पर सुन रहा है

चरण 4: WARP चलाएँ और एक मिश्रित बेंचमार्क लॉन्च करें।

 [root@ip-172-31-27-18 ec2-user]# WARP_ACCESS_KEY=minioadmin WARP_SECRET_KEY=minioadmin ./warp mixed --warp-client warp{1...4}:7761 --host host{1...4}:9000 --duration 120s --obj.size 64M --concurrent 64 warp: Benchmark data written to "warp-remote-2022-02-08[201339]-qymu.csv.zst" Mixed operations. Operation: DELETE, 10%, Concurrency: 256, Ran 1m54s. * Throughput: 39.90 obj/s Operation: GET, 45%, Concurrency: 256, Ran 1m54s. * Throughput: 10903.28 MiB/s, 178.64 obj/s Operation: PUT, 15%, Concurrency: 256, Ran 1m54s. * Throughput: 3628.27 MiB/s, 59.45 obj/s Operation: STAT, 30%, Concurrency: 256, Ran 1m54s. * Throughput: 119.98 obj/s Cluster Total: 14501.38 MiB/s, 397.44 obj/s over 1m55s. warp: Cleanup done. [root@ip-172-31-27-18 ec2-user]#


आपने WARP का उपयोग करके बुनियादी मिश्रित-मोड प्रदर्शन परीक्षण पूरा कर लिया है। जबकि हमने WARP को प्रदर्शित करने के लिए एक मिश्रित-मोड परीक्षण का उपयोग किया था, आप आम तौर पर मिश्रित चलाने के बजाय व्यक्तिगत संचालन (GET, PUT, LIST) को अपने स्वयं के परीक्षण रन में तोड़कर बेहतर परिणाम प्राप्त करेंगे जो वास्तविक दुनिया के उपयोग के लिए अधिक संरेखित हैं) -मोड परीक्षण.


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


WARP परिणाम स्क्रीन पर दिखाए जाते हैं और zstandard का उपयोग करके संपीड़ित स्थानीय CSV फ़ाइल में सहेजे जाते हैं।

त्वरित और आसान प्रदर्शन मूल्यांकन के लिए स्पीडटेस्ट

ऐसी स्थिति में जब आप WARP का पूर्ण लचीलापन नहीं चाहते हैं, तो हमने स्पीडटेस्ट का उपयोग करके मिनियो प्रदर्शन को मापने का एक त्वरित और आसान तरीका बनाया है। स्पीडटेस्ट आमतौर पर ऑटोट्यून मोड में चलाया जाता है, जिससे अधिकतम कुल थ्रूपुट को इंगित करने के लिए लोड में वृद्धि होती है।


स्पीडटेस्ट चलाने के लिए आप एमसी का उपयोग कर सकते हैं:

 $ mc support perf object <alias>


 [root@ip-172-31-77-115 ec2-user]# ./mc support perf object myminio THROUGHPUT IOPS PUT 2.4 GiB/s 38 objs/s GET 4.6 GiB/s 73 objs/s Speedtest: MinIO 2022-02-01T18:00:14Z, 4 servers, 16 drives, 64 MiB objects, 72 threads


या, आप मिनिओ क्लस्टर पर कॉन्फ़िगरेशन, प्रबंधन और रिपोर्टिंग के लिए ब्राउज़र-आधारित जीयूआई मिनिओ कंसोल से स्पीडटेस्ट चला सकते हैं। बस समर्थन मेनू पर जाएं और प्रदर्शन पर क्लिक करें, फिर स्टार्ट बटन पर क्लिक करें।


प्रदर्शन का परीक्षण


प्रदर्शन परीक्षण चलेगा. जब यह पूरा हो जाता है, तो समग्र GET और PUT प्रदर्शन के साथ-साथ व्यक्तिगत नोड्स का प्रदर्शन प्रदर्शित होता है।


स्पीडटेस्ट के लिए अधिक विवरण और उदाहरणों के लिए, कृपया यह ट्यूटोरियल देखें।

ताना गति आगे!

आज ही MiniIO डाउनलोड करके शुरुआत करें। हमारे स्लैक समुदाय में शामिल हों और अन्य मिनियो उपयोगकर्ताओं के साथ विचारों का आदान-प्रदान करें। यदि आपके पास WARP का उपयोग करने के बारे में कोई विशिष्ट प्रश्न हैं, तो कृपया हमारे स्लैक चैनल (मैट सरेल और सीज़र सेलिस) पर हमसे संपर्क करें या हमें [email protected] पर एक ईमेल भेजें।


यहाँ भी प्रकाशित किया गया है.