स्टोरेज टेस्टिंग क्या है? प्रकार, Concepts & उदाहरण

⚡ स्मार्ट सारांश

स्टोरेज टेस्टिंग यह सत्यापित करती है कि कोई एप्लिकेशन अपना डेटा सही डायरेक्टरी में लिखता है और अप्रत्याशित समाप्ति से बचने के लिए उसके पास पर्याप्त डिस्क स्थान है, साथ ही यह भी मापती है कि वास्तविक लोड के तहत अंतर्निहित स्टोरेज कितनी तेजी से प्रतिक्रिया करता है।

  • 💾 यह भी कहा जाता है: स्टोरेज परफॉर्मेंस टेस्टिंग, क्योंकि सही प्लेसमेंट के साथ-साथ स्पीड भी उतनी ही महत्वपूर्ण है।
  • ⚠️ यह क्यों मायने रखती है: धीमे स्टोरेज के कारण प्रतिक्रिया समय धीमा हो जाता है, क्वेरीज़ में अधिक समय लगता है और एप्लिकेशन की उपलब्धता कम हो जाती है।
  • 🧩 तीन प्रकार: एप्लिकेशन टेस्टिंग, एप्लिकेशन सिमुलेशन और बेंचमार्किंग, जिनमें से प्रत्येक की अपनी-अपनी गतिविधियां हैं।
  • 📏 मुख्य मापदंड: IOPS, लेटेंसी, थ्रूपुट और क्यू डेप्थ को हमेशा अलग-अलग पढ़ने के बजाय एक साथ पढ़ा जाना चाहिए।
  • 🧪 यह कैसे काम करता है: उद्देश्यों को परिभाषित करें, डेटा सेट का आकार निर्धारित करें, व्यावहारिक रीड/राइट मिश्रण चुनें, और फिर लोड को धीरे-धीरे बढ़ाएं।
  • टूलींग: सिंथेटिक I/O जनरेटर दोहराए जाने योग्य संख्याएँ उत्पन्न करते हैं जो फ़ाइल-कॉपी कमांड कभी नहीं कर सकते।
  • 🚫 साधारण गलती: गलत सर्वर की निगरानी की जा रही है, इसे छोड़ देंping कैश क्लियरेंस और प्रोसेसर यूटिलाइजेशन की अनदेखी।

स्टोरेज टेस्टिंग ट्यूटोरियल जिसमें इसके प्रकार, अवधारणाएं और आम गलतियाँ शामिल हैं।

स्टोरेज टेस्टिंग क्या है?

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

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

भंडारण परीक्षण क्यों?

अधिकांश एप्लिकेशन स्टोरेज लेयर को सबसे धीमा मानते हैं, इसलिए इसमें कोई भी कमजोरी होने पर वह हर जगह दिखाई देती है। एक समर्पित परीक्षण चक्र को उचित ठहराने के चार कारण हैं।

  • धीमे स्टोरेज का मतलब है धीमी प्रतिक्रिया समय, लंबे समय तक चलने वाली क्वेरी और कम एप्लिकेशन उपलब्धता।
  • धीमी स्टोरेज क्षमता सर्वर इंफ्रास्ट्रक्चर के रखरखाव पर अतिरिक्त बोझ डालती है।
  • इससे सिस्टम को तैनात करने से पहले उसकी व्यावहारिक भंडारण क्षमता का पता लगाने में मदद मिलती है।
  • इससे यह समझने में मदद मिलती है कि हार्डवेयर डिवाइस को बदलने या अपग्रेड करने पर सिस्टम कैसे प्रतिक्रिया करता है।

नीचे दिया गया आरेख स्टोरेज टेस्टिंग को उस संदर्भ में रखता है - एप्लिकेशन, फाइल सिस्टम और भौतिक डिवाइस सभी एक ही पथ पर स्थित होते हैं, और उस पर कहीं भी होने वाली देरी उपयोगकर्ता तक पहुंचती है।

स्टोरेज टेस्टिंग का अवलोकन जिसमें एक एप्लिकेशन फाइल सिस्टम के माध्यम से स्टोरेज डिवाइस पर डेटा लिख ​​रहा है।

भंडारण परीक्षण के प्रकार

इसमें तीन दृष्टिकोणों का उपयोग किया जाता है, और वे मुख्य रूप से इस बात में भिन्न होते हैं कि कार्यभार वास्तविक अनुप्रयोग से कितना मिलता-जुलता है।

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

पहला विकल्प सबसे यथार्थवादी परिणाम देता है और सबसे कम पोर्टेबल है; तीसरा विकल्प ऐसे आंकड़े देता है जिनकी तुलना विभिन्न उपकरणों और विक्रेताओं के बीच की जा सकती है, लेकिन यह इस बारे में बहुत कम बताता है कि एप्लिकेशन स्वयं कैसे व्यवहार करेगा।

सामान्य परीक्षण Concepts भंडारण परीक्षण के दौरान शामिल

इन तीनों प्रकारों में से प्रत्येक को गतिविधियों के एक अलग समूह के साथ जोड़ा गया है, जैसा कि नीचे संक्षेप में बताया गया है।

भंडारण परीक्षण के प्रकार सामान्य भंडारण परीक्षण गतिविधियों का उदाहरण
आवेदन परीक्षण OLTP प्रतिक्रिया समय की तुलना करें
बैच चलाने के समय की तुलना करें
निरंतर स्ट्रीमिंग दरों की तुलना करें
अनुप्रयोग सिमुलेशन डेटाबेस के लिए अधिकतम संग्रहण IOPS का परीक्षण करें
डेटा स्ट्रीमिंग वातावरण के लिए अधिकतम स्टोरेज थ्रूपुट का परीक्षण करें
मैसेजिंग या अन्य सिंगल-थ्रेडेड एप्लिकेशन के लिए स्टोरेज लेटेंसी का परीक्षण करें
बेंचमार्किंग डेटा भ्रष्टाचार के लिए परीक्षण

स्टोरेज टेस्टिंग में प्रमुख मेट्रिक्स

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

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

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

स्टोरेज टेस्टिंग कैसे करें

किसी स्टोरेज टेस्ट की विश्वसनीयता इस बात पर निर्भर करती है कि उसे किन परिस्थितियों में चलाया गया है। नीचे दिया गया क्रम परिणामों को दोहराने योग्य बनाए रखता है।

  • चरण 1) उद्देश्य को परिभाषित करें। यह तय करें कि रन डेटाबेस की तत्परता को परख रहा है, थ्रूपुट की अधिकतम सीमा का पता लगा रहा है, या दो उपकरणों की तुलना कर रहा है। प्रत्येक लक्ष्य के लिए अलग-अलग कार्यभार की आवश्यकता होती है, और इन्हें मिलाने से ऐसे परिणाम प्राप्त होते हैं जिन पर कोई कार्रवाई नहीं की जा सकती।
  • चरण 2) डेटा सेट का आकार यथार्थवादी रूप से निर्धारित करें। कैश में फिट होने लायक छोटा वर्किंग सेट कैश की क्षमता को मापता है, न कि स्टोरेज क्षमता को। प्रोडक्शन डेटा वॉल्यूम के बराबर या कम से कम कैश के आकार से काफी अधिक डेटा का उपयोग करें।
  • चरण 3) रीड/राइट मिक्स और पैटर्न चुनें। एक ही डिवाइस पर रैंडम और सीक्वेंशियल एक्सेस का व्यवहार बहुत अलग होता है, ठीक वैसे ही जैसे 70/30 रीड-राइट मिक्स और राइट-ओनली बर्स्ट का। डिफ़ॉल्ट मिक्स के बजाय प्रोडक्शन मॉनिटरिंग से मिक्स लें।
  • चरण 4) कतार की गहराई और थ्रेड की संख्या निर्धारित करें। ये नियंत्रित करते हैं कि डिवाइस तक कितनी समवर्तीता पहुंचती है, इसलिए प्रत्येक परिणाम के साथ इन्हें रिकॉर्ड करें - इनके बिना उद्धृत आंकड़े को पुन: प्रस्तुत नहीं किया जा सकता है।
  • चरण 5) कैश साफ़ करें और वार्म अप करें। रन के बीच सर्वर और डिवाइस कैश को हटा दें, फिर पहले अंतराल को छोड़ दें ताकि स्थिर-अवस्था संख्याओं की तुलना की जा सके न कि पहले स्पर्श की गई संख्याओं की।
  • चरण 6) पर्याप्त समय तक दौड़ें। कम समय तक चलने वाले ऑपरेशन SSD के राइट बफर के खत्म होने पर सामने आने वाली राइट-क्लिफ को छिपा देते हैं। लगातार चलने वाले ऑपरेशन इसे उजागर कर देते हैं।
  • चरण 7) संपूर्ण स्टैक की निगरानी करें। प्रोसेसर के उपयोग, मेमोरी और नेटवर्क के साथ-साथ स्टोरेज काउंटर को भी कैप्चर करें, ताकि कहीं और मौजूद किसी बाधा को स्टोरेज सीमा के रूप में गलत न समझा जाए।
  • चरण 8) दोहराएं और तुलना करें। एक ही कॉन्फ़िगरेशन को एक से अधिक बार चलाएं और लॉग को सुरक्षित रखें; विभिन्न बिल्ड के बीच प्रदर्शन में अंतर केवल संग्रहीत बेसलाइन के संदर्भ में ही दिखाई देता है।

क्योंकि यही नियम किसी भी भार-चालित माप पर लागू होता है, इसलिए ये परीक्षण आमतौर पर इनके साथ मिलकर नियोजित किए जाते हैं। प्रदर्शन का परीक्षण और रिलीज कैंडिडेट को अंतिम रूप दिए जाने से पहले ही इसे शेड्यूल कर लिया गया है।

भंडारण परीक्षण उपकरण

टूलिंग को दो समूहों में बांटा गया है, और अधिकांश टीमों को दोनों की आवश्यकता होती है।

  • सिंथेटिक I/O जनरेटर। उपयोगिताएँ जैसे FiOआयोमीटर और सिस्बेंच एक सटीक रूप से वर्णित कार्यभार जारी करते हैं - ब्लॉक आकार, रीड/राइट मिश्रण, कतार की गहराई और अवधि सभी घोषित किए जाते हैं, इसलिए एक रन को दूसरे डिवाइस पर हूबहू दोहराया जा सकता है।
  • एप्लिकेशन-स्तर लोड उपकरण। ड्राइवर जैसे JMeter एप्लिकेशन का स्वयं परीक्षण करें, ताकि स्टोरेज को वही एक्सेस पैटर्न दिखाई दे जो वास्तविक उपयोगकर्ता बनाते हैं, जिसमें क्वेरी प्लान और इंडेक्स व्यवहार शामिल हैं जिन्हें कोई कृत्रिम उपकरण पुन: उत्पन्न नहीं कर सकता है।

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

स्टोरेज टेस्टिंग करते समय होने वाली गलतियाँ

अधिकांश अमान्य संग्रहण परिणाम tracहम कुछ ऐसी गलतियों पर वापस आते हैं जिन्हें टाला जा सकता था।

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

अक्सर पूछे जाने वाले प्रश्न

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

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

मैट्रिक्स वही रहते हैं, लेकिन प्रोविज़न्ड IOPS लिमिट, बर्स्ट क्रेडिट और नॉइज़ी नेबर्स को जोड़ा जाता है। बर्स्ट क्रेडिट के समाप्त होने तक पर्याप्त समय तक चलाएं, अन्यथा मापा गया आंकड़ा स्थिर स्थिति के बजाय अस्थायी अनुमति को दर्शाता है।

मशीन लर्निंग मॉडल सामान्य IOPS और लेटेंसी कर्व का आधारभूत स्तर निर्धारित करते हैं, फिर सीमा पार होने से पहले विचलन दिखाने वाले रन को चिह्नित करते हैं। यही मॉडल क्षमता वृद्धि का पूर्वानुमान भी लगाते हैं, जिससे डिस्क की कमी का पूर्वानुमान लगाया जा सकता है, न कि उत्पादन के दौरान इसका पता लगाया जा सकता है।

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

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

आमतौर पर इनमें कैश की स्थिति, कतार की गहराई या रन लेंथ अलग-अलग होती है। डिवाइस की स्थिति भी मायने रखती है — एक नया फॉर्मेट किया हुआ SSD, कई बार फॉर्मेट और रिराइट हो चुके SSD की तुलना में तेज़ी से लिखता है।

इसे आमतौर पर परफॉर्मेंस टेस्टर चलाते हैं, जबकि इंफ्रास्ट्रक्चर या डेटाबेस एडमिनिस्ट्रेटर डिवाइस कॉन्फ़िगरेशन और प्रोडक्शन एक्सेस पैटर्न प्रदान करते हैं। परिणाम तभी मान्य होता है जब दोनों पक्ष इस बात पर सहमत हों कि वर्कलोड वास्तविक था।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: