एचडीडी के लिए , IOPS आमतौर पर डिस्क के एक्सेस समय पर हावी होते हैं, जो कि विलंबता + घूर्णी विलंब + स्थानांतरण विलंब का योग है। जैसा कि ये चर दृढ़ता से एक्सेस पैटर्न पर निर्भर करते हैं और विशिष्ट RAID लेआउट (यानी: स्ट्राइप आकार) और नियंत्रक (यानी: आगे ट्यूनिंग पढ़ें) के साथ कोई स्पष्ट बातचीत नहीं करते हैं, कोई भी सरल उत्तर हो जाएगा।
हालाँकि, एक बॉलपार्क आंकड़ा रखने की कोशिश करता है। पहले सन्निकटन पर, एक n- डिस्क सरणी द्वारा गारंटीकृत IOPS एकल डिस्क का IOPS n-गुना होना चाहिए। हालाँकि, RAID / स्तर और डेटा एक्सेस पैटर्न , दोनों ही चाहने वाले / घूर्णी / अंतरण विलंबता के बीच भार को शिथिल करके, इस प्रथम-क्रम सन्निकटन को नाटकीय रूप से बदल देते हैं।
कुछ उदाहरण देते हैं, 100 IOPS प्रति एकल डिस्क (7200 RPM डिस्क के लिए एक टिपिकल मान) और 4-डिस्क सरणियों (RAID1 को छोड़कर, अक्सर केवल 2-वे तक सीमित) मान लेते हैं:
- एक एकल डिस्क 100 IOPS है, दोनों पढ़ना और लिखना (नोट: लिखने के लिए लिखने के कारण, IOPS आम तौर पर पढ़ने वाले IOPS से अधिक होता है, लेकिन सरलता के लिए इसे अनदेखा कर देता है)
- RAID0 (4-रास्ता स्ट्रिपिंग) है अप करने के लिए यादृच्छिक IOPS 4x और अप करने के लिए अनुक्रमिक IOPS 4x। यहां मुख्य शब्द "अप" है: स्ट्रिपिंग और डेटा संरेखण की प्रकृति के कारण, यदि यादृच्छिक एक्सेस वाले सेक्टर पहले से एक डिस्क पर रहते हैं, तो आप बहुत कम आईओपीएस के साथ समाप्त हो जाएंगे।
- RAID1 (2-वे मिररिंग) प्रोफाइल के लिए अधिक जटिल है। जैसा कि अलग-अलग डिस्क अलग-अलग डेटा की तलाश कर सकते हैं, इसमें 2x से यादृच्छिक रीड IOPS तक हैं, लेकिन 1x (या थोड़ा कम, ओवरहेड के कारण) यादृच्छिक IOPS लिख सकते हैं। यदि सभी चीजें अच्छी तरह से संरेखित होती हैं (यानी: बड़ी लेकिन 100% अनुक्रमिक रीड्स नहीं, तो RAID कंट्रोलर / स्ट्राइप्स कॉन्सेप्ट / मिररिंग मोड में भी हैंडलिंग का एक कंट्रोलर, रीड-फॉरवर्ड सही तरीके से काम करना, आदि) सीक्वेंशियल रीड्स कुछ समय के लिए 2x तक सिंगल हो सकते हैं। डिस्क मान, जबकि अनुक्रमिक लेखन 1x सिंगल डिस्क पर छाया हुआ रहता है (यानी: कोई स्पीडअप नहीं)
- RAID10 (4-वे मिररिंग), प्रदर्शन-वार है, 4-वे RAID0 स्ट्रिपिंग और 2-वे मिररिंग के बीच आधे रास्ते पर है। इसमें 4x तक का रैंडम रीड IOPS है और 2x तक रैंडम राइटिंग IOPS है। अनुक्रमिक स्थानान्तरण के लिए, RAID1 कैविट लागू होता है: यह कभी-कभी क्रमिक पढ़ने वाले IOPS के 4x तक होता है, लेकिन केवल 2x अनुक्रमिक IOPS लिखता है। कृपया ध्यान दें कि कुछ RAID10 कार्यान्वयन (अर्थात् लिनक्स MDRAID) अलग प्रदर्शन प्रोफ़ाइल के साथ RAID10 सरणियों के लिए अलग-अलग लेआउट प्रदान करते हैं ।
- RAID5 (धारीदार समता) में यादृच्छिक पढ़ा हुआ IOPS 4 गुना तक होता है, जबकि यादृच्छिक लेखन IOPS, कई कारकों पर निर्भर करता है कि पट्टी आकार के संबंध में कितनी बड़ी है, एक बड़ी पट्टी कैश की उपलब्धता, धारी पुनर्निर्माण एल्गोरिथम। स्वयं (रीड-रीकंस्ट्रक्ट-राइट-बनाम रीड-मॉडिफाई-राइट), आदि, 0.5x (या निम्न) और 2x के बीच कहीं भी हो सकता है, जो एकल डिस्क का IOPS है। अनुक्रमिक वर्कलोड अधिक अनुमानित हैं, एक डिस्क के IOPS 3x के साथ (दोनों पढ़ने और लिखने के लिए)
- RAID6 (धारीदार डबल समता) अपने RAID5 भाई की तरह व्यवहार करता है, लेकिन कम लेखन प्रदर्शन के साथ। यह एक डिस्क के यादृच्छिक रीड IOPS को 4 गुना तक बढ़ाता है, लेकिन इसका यादृच्छिक लेखन प्रदर्शन RAID5 की तुलना में भी कम है, समान निरपेक्ष मान (0.5x - 2x) के साथ लेकिन निम्न वास्तविक शब्द औसत के साथ। अनुक्रमिक पढ़ता है और लिखता है एक डिस्क के 2X IOPS पर छाया हुआ है।
मुझे दोहराने दो: उपरोक्त सरल और लगभग टूटे हुए हैं। वैसे भी, यदि आप एक (गंभीर रूप से अपूर्ण) RAID IOPS कैलकुलेटर के साथ खेलना चाहते हैं, तो यहां एक नज़र डालें ।
अब, वास्तविक दुनिया पर वापस जाएं। वास्तविक विश्व वर्कलोड पर, RAID10 अक्सर तेज और पसंदीदा विकल्प होता है , अपमानित सरणी के सामने भी उच्च प्रदर्शन बनाए रखता है । RAID5 और RAID6 का उपयोग प्रदर्शन-संवेदनशील कार्यभार पर नहीं किया जाना चाहिए, जब तक कि वे प्रकृति में पढ़ने-केंद्रित या अनुक्रमिक न हों। यह ध्यान देने योग्य है कि गंभीर RAID नियंत्रकों में बड़ी शक्ति-हानि संरक्षित राइटबैक कैश मुख्य रूप से RAID5 / 6 कम यादृच्छिक लेखन प्रदर्शन को दूर करने के लिए (भारी पट्टी कैशिंग द्वारा) है। जब तक आप वास्तव में सरणी की गति के बारे में परवाह नहीं करते, तब तक कैश-कम RAID नियंत्रकों के साथ RAID5 / 6 का उपयोग न करें ।
एसएसडी अलग जानवर हैं, सोचा। जैसा कि उनके पास आंतरिक रूप से बहुत कम औसत पहुंच समय है, समानता आधारित RAID बहुत कम प्रदर्शन ओवरहेड को उकसाते हैं और एचडीडी की तुलना में बहुत अधिक व्यवहार्य विकल्प हैं। हालांकि, एक छोटे से यादृच्छिक-लेखन केंद्रित कार्यभार में, मैं वैसे भी एक RAID10 सेटअप का उपयोग करूंगा।