प्रवाह
जब आप फ़ाइलों को कॉपी करने जैसी चीजें कर रहे हों तो थ्रूपुट उपयोगी है। जब आप लगभग कुछ और कर रहे हैं तो यह यादृच्छिक रूप से पढ़ता है और उस डिस्क पर लिखता है जो आपको सीमित कर देगा।
IOPS
IOPS आमतौर पर प्रत्येक डेटा पैकेट का आकार निर्दिष्ट करता है। उदाहरण के लिए, AWS gp2 एक 16 KiB पेलोड आकार के साथ 10,000 IOPS कर सकता है । यह 160MiB / सेकंड तक गुणा होता है। हालांकि, यह संभव नहीं है कि आप हर समय पूर्ण पेलोड आकार का उपयोग करेंगे, इसलिए वास्तविक थ्रूपुट शायद कम होगा। NB KiB 1024 बाइट्स है, KB 1000 बाइट्स है।
क्योंकि IOPS एक पैकेट आकार निर्दिष्ट करता है जो आपको कुल थ्रूपुट भी देता है। जबकि उच्च थ्रूपुट का मतलब यह नहीं है कि आपके पास उच्च IOPS है।
परिदृश्य
इन परिदृश्यों पर विचार करें:
- अपने पीसी को बूट करना। अपने कंप्यूटर में SSD और एक कताई डिस्क के बीच अंतर पर विचार करें, जो कि कुछ लोगों के पास पहले हाथ का अनुभव है। कताई डिस्क के साथ बूट का समय एक मिनट हो सकता है, जबकि एसएसडी के साथ यह 10 से 15 सेकंड तक नीचे आ सकता है। ऐसा इसलिए है क्योंकि उच्च IOPS जानकारी प्राप्त करने का अनुरोध करते समय कम विलंबता की ओर जाता है। कताई डिस्क का थ्रूपुट काफी अच्छा है, 150MB / सेकंड, हालांकि SSD अधिक होने की संभावना है कि यह तेज क्यों नहीं है - यह जानकारी वापस करने के लिए कम विलंबता है।
- OS अपडेट चलाना। यह सभी डिस्क पर जा रहा है, फ़ाइलों को जोड़ने और पैचिंग कर रहा है। यदि आपके पास कम IOPS था, तो यह थ्रूपुट की परवाह किए बिना धीमा होगा।
- डेटाबेस चलाना, उदाहरण के लिए एक बड़े डेटाबेस से डेटा की थोड़ी मात्रा का चयन करना। यह सूचकांक से पढ़ेगा, कई फाइलों से पढ़ा जाएगा, फिर एक परिणाम लौटाएगा। फिर से यह जानकारी इकट्ठा करने के लिए सभी डिस्क पर जा रहा है।
- अपने पीसी पर एक खेल खेल रहा है। यह डिस्क पर सभी से बड़ी संख्या में बनावट को लोड करता है। इस मामले में IOPS और थ्रूपुट की संभावना है।
एलटीओ टेप
एक पल के लिए एक टेप बैकअप प्रणाली पर विचार करें। LTO6 400MB / sec कर सकता है, लेकिन (मैं यहाँ अनुमान लगा रहा हूँ) शायद एक यादृच्छिक IOP भी नहीं कर सकता है, यह IOP प्रति सेकंड जितना कम हो सकता है। दूसरी ओर, यह संभवतः पूरे क्रमिक IOPS कर सकता है, अगर एक IOPS को टेप करने के लिए डेटा के पार्सल को पढ़ने या लिखने के रूप में परिभाषित किया गया है।
यदि आप एक OS को टेप से बूट करने की कोशिश करते हैं, तो यह एक लंबा समय लगेगा, अगर यह बिल्कुल काम करता है। यही कारण है कि IOPS अक्सर थ्रूपुट की तुलना में अधिक सहायक होता है।
स्टोरेज डिवाइस को समझने के लिए आप शायद जानना चाहते हैं कि क्या यह यादृच्छिक या अनुक्रमिक IOPS, और IO आकार है। उससे आप थ्रूपुट प्राप्त कर सकते हैं।
एडब्ल्यूएस
ध्यान दें कि AWS इस पृष्ठ पर अपने सभी संग्रहण प्रकारों के लिए IOPS और throughput आंकड़े प्रकाशित करता है । सामान्य उद्देश्य SSD (gp2) 10,000 16KiB IOPS कर सकता है, जो अधिकतम 160MB / सेकंड देता है। प्रस्तावित IOPS (io1) 20,000 16KiB IOPS है, जो अधिकतम 320MB / सेकंड देता है।
ध्यान दें कि gp2 वॉल्यूम के साथ आपको 30 GBPS प्रति GB का प्रावधान मिलता है, इसलिए 10,000 IOPS प्राप्त करने के लिए आपको 333.33GB वॉल्यूम की आवश्यकता होती है। मुझे याद नहीं है कि अगर io1 वॉल्यूम में समान सीमा होती है (यह कुछ समय हो गया है क्योंकि मैंने सहयोगी परीक्षाएं की हैं जहां उस तरह का परीक्षण किया गया है), लेकिन मुझे संदेह है कि वे करते हैं, और यदि ऐसा है तो शायद प्रति जीबी 60IOPS।
निष्कर्ष
उच्च अनुक्रमिक थ्रूपुट उपयोगी है, और कुछ मामलों में प्रदर्शन के लिए सीमित कारक है, लेकिन ज्यादातर मामलों में उच्च IOPS अधिक महत्वपूर्ण है। तुम अब भी IOPS की परवाह किए बिना उचित throughput की जरूरत है।