स्टोरेज टेस्टिंग क्या है? प्रकार, Concepts & उदाहरण
⚡ स्मार्ट सारांश
स्टोरेज टेस्टिंग यह सत्यापित करती है कि कोई एप्लिकेशन अपना डेटा सही डायरेक्टरी में लिखता है और अप्रत्याशित समाप्ति से बचने के लिए उसके पास पर्याप्त डिस्क स्थान है, साथ ही यह भी मापती है कि वास्तविक लोड के तहत अंतर्निहित स्टोरेज कितनी तेजी से प्रतिक्रिया करता है।
स्टोरेज टेस्टिंग क्या है?
भंडारण परीक्षण यह एक प्रकार का सॉफ़्टवेयर परीक्षण है जिसका उपयोग यह सत्यापित करने के लिए किया जाता है कि परीक्षण के तहत सॉफ़्टवेयर एप्लिकेशन प्रासंगिक डेटा को उचित निर्देशिकाओं में संग्रहीत करता है या नहीं, और क्या इसमें डिस्क स्थान की कमी के कारण अप्रत्याशित समाप्ति को रोकने के लिए पर्याप्त स्थान है। इसे यह भी कहा जाता है भंडारण प्रदर्शन परीक्षण.
यह तकनीक अनुशासन के गैर-कार्यात्मक पक्ष में आती है: अन्य रूपों की तरह गैर-कार्यात्मक परीक्षणइसमें इस बारे में कुछ नहीं कहा गया है कि कोई फीचर सही उत्तर देता है या नहीं, बल्कि इस बारे में सब कुछ बताया गया है कि डेटा की मात्रा और इनपुट/आउटपुट दबाव बढ़ने पर सिस्टम उत्तर देना जारी रख सकता है या नहीं।
भंडारण परीक्षण क्यों?
अधिकांश एप्लिकेशन स्टोरेज लेयर को सबसे धीमा मानते हैं, इसलिए इसमें कोई भी कमजोरी होने पर वह हर जगह दिखाई देती है। एक समर्पित परीक्षण चक्र को उचित ठहराने के चार कारण हैं।
- धीमे स्टोरेज का मतलब है धीमी प्रतिक्रिया समय, लंबे समय तक चलने वाली क्वेरी और कम एप्लिकेशन उपलब्धता।
- धीमी स्टोरेज क्षमता सर्वर इंफ्रास्ट्रक्चर के रखरखाव पर अतिरिक्त बोझ डालती है।
- इससे सिस्टम को तैनात करने से पहले उसकी व्यावहारिक भंडारण क्षमता का पता लगाने में मदद मिलती है।
- इससे यह समझने में मदद मिलती है कि हार्डवेयर डिवाइस को बदलने या अपग्रेड करने पर सिस्टम कैसे प्रतिक्रिया करता है।
नीचे दिया गया आरेख स्टोरेज टेस्टिंग को उस संदर्भ में रखता है - एप्लिकेशन, फाइल सिस्टम और भौतिक डिवाइस सभी एक ही पथ पर स्थित होते हैं, और उस पर कहीं भी होने वाली देरी उपयोगकर्ता तक पहुंचती है।
भंडारण परीक्षण के प्रकार
इसमें तीन दृष्टिकोणों का उपयोग किया जाता है, और वे मुख्य रूप से इस बात में भिन्न होते हैं कि कार्यभार वास्तविक अनुप्रयोग से कितना मिलता-जुलता है।
- अनुप्रयोग परीक्षण: उत्पादन जैसे वातावरण में नमूना प्रश्नों के साथ एप्लिकेशन का परीक्षण करना।
- अनुप्रयोग सिमुलेशन: परीक्षण करने के लिए ऐसे मानक सॉफ़्टवेयर का उपयोग करना जो लक्ष्य एप्लिकेशन के समान व्यवहार करता हो।
- बेंचमार्किंग: मानक बेंचमार्किंग सॉफ्टवेयर का उपयोग करके परीक्षण करना जो एक कृत्रिम, दोहराने योग्य कार्यभार उत्पन्न करता है।
पहला विकल्प सबसे यथार्थवादी परिणाम देता है और सबसे कम पोर्टेबल है; तीसरा विकल्प ऐसे आंकड़े देता है जिनकी तुलना विभिन्न उपकरणों और विक्रेताओं के बीच की जा सकती है, लेकिन यह इस बारे में बहुत कम बताता है कि एप्लिकेशन स्वयं कैसे व्यवहार करेगा।
सामान्य परीक्षण Concepts भंडारण परीक्षण के दौरान शामिल
इन तीनों प्रकारों में से प्रत्येक को गतिविधियों के एक अलग समूह के साथ जोड़ा गया है, जैसा कि नीचे संक्षेप में बताया गया है।
| भंडारण परीक्षण के प्रकार | सामान्य भंडारण परीक्षण गतिविधियों का उदाहरण |
| आवेदन परीक्षण | OLTP प्रतिक्रिया समय की तुलना करें बैच चलाने के समय की तुलना करें निरंतर स्ट्रीमिंग दरों की तुलना करें |
| अनुप्रयोग सिमुलेशन | डेटाबेस के लिए अधिकतम संग्रहण IOPS का परीक्षण करें डेटा स्ट्रीमिंग वातावरण के लिए अधिकतम स्टोरेज थ्रूपुट का परीक्षण करें मैसेजिंग या अन्य सिंगल-थ्रेडेड एप्लिकेशन के लिए स्टोरेज लेटेंसी का परीक्षण करें |
| बेंचमार्किंग | डेटा भ्रष्टाचार के लिए परीक्षण |
स्टोरेज टेस्टिंग में प्रमुख मेट्रिक्स
भंडारण के परिणाम कुछ चुनिंदा संख्याओं के माध्यम से बताए जाते हैं। इनमें से किसी एक संख्या को अकेले पढ़ने से गलत निष्कर्ष पर पहुंचने का सबसे तेज़ तरीका है, क्योंकि ये सभी संख्याएँ एक-दूसरे के विपरीत होती हैं।
| मैट्रिक | यह क्या मापता है | जहां सबसे ज्यादा मायने रखता है |
| IOPS | आकार की परवाह किए बिना, प्रति सेकंड पूर्ण होने वाले पढ़ने और लिखने के ऑपरेशन। | ट्रांजैक्शनल डेटाबेस और छोटे रैंडम राइट्स |
| विलंब | किसी एक इनपुट/आउटपुट ऑपरेशन के शुरू होने और पूरा होने के बीच का समय। | संदेश और एकल-थ्रेडेड एप्लिकेशन पथ |
| प्रवाह | प्रति सेकंड स्थानांतरित डेटा की मात्रा, आमतौर पर MB/s में | बैच रन, बैकअप और स्ट्रीमिंग वर्कलोड |
| कतार की गहराई | एक ही समय में जारी किए गए लंबित अनुरोधों की संख्या | कोई भी रन जो वास्तविक समवर्तीता को प्रतिबिंबित करता हो |
क्यू डेप्थ पर विशेष ध्यान देने की आवश्यकता है। एक समय में एक ही अनुरोध भेजने से सटीक सिंगल-रिक्वेस्ट लेटेंसी तो मिलती है, लेकिन आईओपीएस और थ्रूपुट का आंकड़ा कृत्रिम रूप से कम हो जाता है, यही कारण है कि कोई डिवाइस परीक्षण में धीमा और उत्पादन में तेज़ दिखाई दे सकता है, या इसका उल्टा भी हो सकता है।
स्टोरेज टेस्टिंग कैसे करें
किसी स्टोरेज टेस्ट की विश्वसनीयता इस बात पर निर्भर करती है कि उसे किन परिस्थितियों में चलाया गया है। नीचे दिया गया क्रम परिणामों को दोहराने योग्य बनाए रखता है।
- चरण 1) उद्देश्य को परिभाषित करें। यह तय करें कि रन डेटाबेस की तत्परता को परख रहा है, थ्रूपुट की अधिकतम सीमा का पता लगा रहा है, या दो उपकरणों की तुलना कर रहा है। प्रत्येक लक्ष्य के लिए अलग-अलग कार्यभार की आवश्यकता होती है, और इन्हें मिलाने से ऐसे परिणाम प्राप्त होते हैं जिन पर कोई कार्रवाई नहीं की जा सकती।
- चरण 2) डेटा सेट का आकार यथार्थवादी रूप से निर्धारित करें। कैश में फिट होने लायक छोटा वर्किंग सेट कैश की क्षमता को मापता है, न कि स्टोरेज क्षमता को। प्रोडक्शन डेटा वॉल्यूम के बराबर या कम से कम कैश के आकार से काफी अधिक डेटा का उपयोग करें।
- चरण 3) रीड/राइट मिक्स और पैटर्न चुनें। एक ही डिवाइस पर रैंडम और सीक्वेंशियल एक्सेस का व्यवहार बहुत अलग होता है, ठीक वैसे ही जैसे 70/30 रीड-राइट मिक्स और राइट-ओनली बर्स्ट का। डिफ़ॉल्ट मिक्स के बजाय प्रोडक्शन मॉनिटरिंग से मिक्स लें।
- चरण 4) कतार की गहराई और थ्रेड की संख्या निर्धारित करें। ये नियंत्रित करते हैं कि डिवाइस तक कितनी समवर्तीता पहुंचती है, इसलिए प्रत्येक परिणाम के साथ इन्हें रिकॉर्ड करें - इनके बिना उद्धृत आंकड़े को पुन: प्रस्तुत नहीं किया जा सकता है।
- चरण 5) कैश साफ़ करें और वार्म अप करें। रन के बीच सर्वर और डिवाइस कैश को हटा दें, फिर पहले अंतराल को छोड़ दें ताकि स्थिर-अवस्था संख्याओं की तुलना की जा सके न कि पहले स्पर्श की गई संख्याओं की।
- चरण 6) पर्याप्त समय तक दौड़ें। कम समय तक चलने वाले ऑपरेशन SSD के राइट बफर के खत्म होने पर सामने आने वाली राइट-क्लिफ को छिपा देते हैं। लगातार चलने वाले ऑपरेशन इसे उजागर कर देते हैं।
- चरण 7) संपूर्ण स्टैक की निगरानी करें। प्रोसेसर के उपयोग, मेमोरी और नेटवर्क के साथ-साथ स्टोरेज काउंटर को भी कैप्चर करें, ताकि कहीं और मौजूद किसी बाधा को स्टोरेज सीमा के रूप में गलत न समझा जाए।
- चरण 8) दोहराएं और तुलना करें। एक ही कॉन्फ़िगरेशन को एक से अधिक बार चलाएं और लॉग को सुरक्षित रखें; विभिन्न बिल्ड के बीच प्रदर्शन में अंतर केवल संग्रहीत बेसलाइन के संदर्भ में ही दिखाई देता है।
क्योंकि यही नियम किसी भी भार-चालित माप पर लागू होता है, इसलिए ये परीक्षण आमतौर पर इनके साथ मिलकर नियोजित किए जाते हैं। प्रदर्शन का परीक्षण और रिलीज कैंडिडेट को अंतिम रूप दिए जाने से पहले ही इसे शेड्यूल कर लिया गया है।
भंडारण परीक्षण उपकरण
टूलिंग को दो समूहों में बांटा गया है, और अधिकांश टीमों को दोनों की आवश्यकता होती है।
- सिंथेटिक I/O जनरेटर। उपयोगिताएँ जैसे FiOआयोमीटर और सिस्बेंच एक सटीक रूप से वर्णित कार्यभार जारी करते हैं - ब्लॉक आकार, रीड/राइट मिश्रण, कतार की गहराई और अवधि सभी घोषित किए जाते हैं, इसलिए एक रन को दूसरे डिवाइस पर हूबहू दोहराया जा सकता है।
- एप्लिकेशन-स्तर लोड उपकरण। ड्राइवर जैसे JMeter एप्लिकेशन का स्वयं परीक्षण करें, ताकि स्टोरेज को वही एक्सेस पैटर्न दिखाई दे जो वास्तविक उपयोगकर्ता बनाते हैं, जिसमें क्वेरी प्लान और इंडेक्स व्यवहार शामिल हैं जिन्हें कोई कृत्रिम उपकरण पुन: उत्पन्न नहीं कर सकता है।
Operaटिंग-सिस्टम काउंटर पूरी तस्वीर को स्पष्ट करते हैं। लोड उत्पन्न करने वाला उपकरण चाहे जो भी हो, प्रोसेसर, मेमोरी और नेटवर्क काउंटरों के साथ-साथ स्टोरेज के आंकड़ों को भी पढ़ा जाना चाहिए - कई स्टोरेज-परीक्षण तकनीकों का उपयोग किया जाता है, जिनमें शामिल हैं: बेंचमार्क परीक्षण और मात्रा परीक्षणपरिणाम की सही व्याख्या करने के लिए उस फुल-स्टैक व्यू पर निर्भर रहना पड़ता है।
स्टोरेज टेस्टिंग करते समय होने वाली गलतियाँ
अधिकांश अमान्य संग्रहण परिणाम tracहम कुछ ऐसी गलतियों पर वापस आते हैं जिन्हें टाला जा सकता था।
- गलत सर्वर के प्रदर्शन की निगरानी की जा रही है, इसलिए आंकड़े उस मशीन का वर्णन करते हैं जिसका परीक्षण नहीं किया जा रहा है।
- सर्वर कैश को पहले साफ़ किए बिना स्टोरेज डिवाइसों की तुलना करना, जो डिस्क के बजाय मेमोरी को मापता है।
- परीक्षण के दौरान प्रोसेसर के उपयोग की निगरानी करना भूल जाना, जिसके कारण प्रोसेसर से संबंधित बाधा भंडारण संबंधी लक्षण के पीछे छिप जाती है।
- सिंगल-थ्रेडेड, कैश-असिस्टेड और नॉन-रिपीटेबल फाइल कॉपी कमांड का उपयोग करके स्टोरेज परफॉर्मेंस का परीक्षण करना।

