IOPS क्यों मायने रखता है?


32

मैं समझता हूं कि IOPS और थ्रूपुट क्या हैं। एमबी / एस और आईओपीएस के रूप में डेटा प्रवाह के माध्यम से थ्रूपुट कहता है कि प्रति सेकंड कितने I / O ऑपरेशन हो रहे हैं।

मुझे समझ में नहीं आता है कि कई भंडारण सेवाएं सिर्फ IOPS दिखाती हैं जो वे प्रदान करते हैं। मैं वास्तव में किसी भी परिदृश्य को नहीं देख सकता, जहां मैं थ्रूपुट के बजाय आईओपीएस जानना पसंद करूंगा।

IOPS क्यों मायने रखता है? AWS मुख्य रूप से IOPS में अपने भंडारण प्रावधानों को क्यों दिखाता है? IOPS थ्रूपुट (MB / s) से अधिक प्रासंगिक कहां हैं?


संपादित करें:

कुछ लोग इस प्रश्न को देख रहे हैं जैसे कि मैंने पूछा कि यादृच्छिक अभिगम क्या है और यह प्रदर्शन को कैसे प्रभावित करता है या HDD और SSD कैसे कार्य करता है ... हालाँकि मुझे लगता है कि यह जानकारी लोगों के लिए नए व्यवहार के लिए उपयोगी है, इस पर बहुत अधिक ध्यान दिया जा रहा है। यह और यह सवाल का लक्ष्य नहीं है, सवाल यह है कि "जब मैं एक IOPS नंबर देखता हूं, तो मुझे कौन सी नई जानकारी मिलती है कि मुझे एक थ्रूपुट (MB / s) नंबर नहीं मिलेगा?"



3
यदि आप बड़े डेटा को स्थानांतरित करना चाहते हैं, तो आप थ्रूपुट के बारे में परवाह करते हैं। यदि आपको बहुत सारे छोटे डेटा की आवश्यकता होती है, तो आपको अधिक IOPS की आवश्यकता होगी। eg1 यदि एक एकल ऑपरेशन है जो डिवाइस से एमबी डेटा पढ़ सकता है, तो आपको उच्च थ्रूपुट प्राप्त करने के लिए केवल 1 ऑपरेशन की आवश्यकता है। eg2 यदि आपको दर्जनों फ़ाइल विशेषताओं को पढ़ने की आवश्यकता है, तो आप प्रत्येक बार बड़ी मात्रा में डेटा नहीं देख रहे हैं, लेकिन डेटा के छोटे बिट्स लाने के लिए बहुत सारे ऑपरेशन करने की आवश्यकता है। थ्रूपुट कम होगा लेकिन आपको बहुत सारे संचालन की आवश्यकता होगी।
TafT

जवाबों:


32

प्रवाह

जब आप फ़ाइलों को कॉपी करने जैसी चीजें कर रहे हों तो थ्रूपुट उपयोगी है। जब आप लगभग कुछ और कर रहे हैं तो यह यादृच्छिक रूप से पढ़ता है और उस डिस्क पर लिखता है जो आपको सीमित कर देगा।

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 की जरूरत है।


मुझे लगता है कि IOPS यादृच्छिक अभिगम प्रदर्शन को मापता है, लेकिन यह वास्तव में यह नहीं दिखाता है कि आप कितनी तेजी से चीजें कर रहे हैं ... आप 10000 IOPS कर रहे हैं, लेकिन यह कुछ धीमा या तेज हो सकता है, यह जानने का एकमात्र तरीका यह है कि कितने लोग जानते हैं MB / s ऑपरेशन का उपभोग कर रहा है।
mFeinstein

IOPS आमतौर पर डेटा पेलोड आकार को निर्दिष्ट करता है। AWS का कहना है कि 16KiB। तो 16KiB / s पर 10,000 IOPS आपको 160MB / सेकंड देता है।
टिम

2
16KB पर 10000 IOPS 8KB पर 20000 IOPS में अनुवाद नहीं करेगा, हालांकि (शायद ~ 11000)। इसका मतलब है कि किसी को IOPS और थ्रूपुट दोनों को जानने की जरूरत है ताकि ड्राइव / वर्कलोड का आकलन किया जा सके।
boot4life

4
बस पांडित्यपूर्ण होने के लिए, यह अभी भी 1 IOPS है, न कि 1 IOP। S बहुवचन नहीं है
मैथ्यू Steeples

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

57

ऐसा इसलिए है क्योंकि अनुक्रमिक थ्रूपुट यह नहीं है कि सबसे अधिक I / O गतिविधि कैसे होती है।

रैंडम रीड / राइट ऑपरेशन सामान्य सिस्टम गतिविधि के अधिक प्रतिनिधि हैं, और यह आमतौर पर IOPS द्वारा बाध्य है।

मेरे एक सर्वर से हमारे ग्राहकों के लिए पोर्न स्ट्रीमिंग (या हमारे सीडीएन पर अपलोड करना) प्रकृति में अधिक अनुक्रमिक है और आप वहां थ्रूपुट का प्रभाव देखेंगे।

लेकिन उस डेटाबेस को बनाए रखना जो पोर्न कैटलॉग करता है और साइट के माध्यम से उपयोगकर्ता गतिविधि को ट्रैक करता है, प्रकृति में यादृच्छिक होने जा रहा है, और छोटे I / O संचालन / सेकंड की संख्या तक सीमित है जो अंतर्निहित भंडारण में सक्षम है।

मुझे डेटाबेस के चरम उपयोग पर चलने के लिए 2,000 IOPS की आवश्यकता हो सकती है, लेकिन गतिविधि के प्रकार के कारण डिस्क स्तर पर केवल 30MB / s थ्रूपुट देख सकते हैं। डिस्क 1200MB / s में सक्षम हैं, लेकिन IOPS पर्यावरण में सीमा है।

यह एक भंडारण प्रणाली की क्षमता क्षमता का वर्णन करने का एक तरीका है। एक SSD में 80,000 IOPS और 600MB / s थ्रूपुट करने की क्षमता हो सकती है। आप 6 नियमित 10k एसएएस डिस्क के साथ थ्रूपुट प्राप्त कर सकते हैं, लेकिन केवल 2,000 IOPS के साथ ही उपज प्राप्त करेंगे।


क्या आप मुझे एक उदाहरण दे सकते हैं जहां IOPS मुझे मेरे सिस्टम के प्रदर्शन पर जानकारी देगा जहां MB / s उपयोगी नहीं होगा?
mFeinstein

@mFeinstein ऊपर पोर्न उदाहरण देखें।
ewwhite

33
+1 पोर्न उदाहरण के लिए lol
mFeinstein

2
इसके अलावा, एक ऑपरेटिंग सिस्टम छोटे यादृच्छिक अभिगम का एक गुच्छा बनाने की संभावना है। Seq थ्रूपुट मदद नहीं करेगा। यह एक एसएसडी पर ओएस चलाने का एक कारण है, कम से कम पीसी में।
sudo

3
मैं अक्सर पूरी तरह से उपयोग किए जाने वाले डिस्क देखता हूं जो ~ 2MB / सेकंड है। ऐसा इसलिए है क्योंकि यह 100% यादृच्छिक IO है। कभी-कभी, अविश्वसनीय पूर्ण लाभ संभवतः डिस्क पर डेटा क्रमिक रूप से बिछाने (जैसे विखंडन को हटाने, डेटाबेस में अनुक्रमण) द्वारा होता है।
boot4life

6

जबकि ewwhite का उत्तर पूरी तरह से सही है, मैं कुछ और ठोस संख्याएँ प्रदान करना चाहता था, जो यह बताने में मदद करें कि अंतर परिप्रेक्ष्य में क्यों मायने रखता है।

जैसा कि ewwhite पहले से ही सही ढंग से कहा गया है, अधिकांश गैर-स्ट्रीमिंग एप्लिकेशन मुख्य रूप से गैर-अनुक्रमिक डिस्क संचालन करते हैं, यही वजह है कि सैद्धांतिक चोटी थ्रूपुट के अलावा IOPS पदार्थ।

जब एक सहकर्मी और मैंने पहली बार SSDs को हमारे विकास प्रणालियों में स्थापित किया था, तो HDDs को बदलने के लिए जिन्हें हम पहले उपयोग कर रहे थे, हमने उन पर कुछ माप माप चलाए जो वास्तव में इस बात पर प्रकाश डालते हैं:

SATA HDD परिणाम:

अनुक्रमिक पढ़ें थ्रूपुट: ~ 100 एमबी / एस
गैर-अनुक्रमिक पढ़ें थ्रूपुट (2k ब्लॉक, IIRC): ~ 1 एमबी / एस

PCIe संलग्न SSD परिणाम:

अनुक्रमिक पढ़ें थ्रूपुट: ~ 700 एमबी / एस
गैर-अनुक्रमिक पढ़ें थ्रूपुट (2k ब्लॉक, IIRC): ~ 125 एमबी / एस

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

हमारे संकलित समय में अधिक से अधिक नाटकीय रूप से सुधार हुआ, अधिकतम थ्रूपुटों की एक सरल तुलना ने सुझाव दिया होगा। बनाता है कि पहले 30 मिनट से अधिक का समय अब ​​लगभग एक मिनट में समाप्त हो गया, क्योंकि एक बड़े निर्माण के दौरान डिस्क I / O में बहुत सारे अलग-अलग स्रोत फ़ाइलों को पढ़ना और लिखना होता है जो व्यक्तिगत रूप से बहुत बड़े नहीं होते हैं और शारीरिक रूप से सभी डिस्क पर बिखरे हुए हो सकते हैं। ।

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


क्या आपने IOPS भी नहीं मापा है?
mFeinstein

3

एक IO ऑपरेशन करने के लिए ड्राइव (s) को संचालन की एक श्रृंखला के माध्यम से जाना चाहिए। एक यांत्रिक हार्ड ड्राइव के लिए उन्हें आवश्यकता होती है।

  1. सही ट्रैक की तलाश करें और सही सिर का चयन करें।
  2. सही स्थिति में घूमने के लिए थाली की प्रतीक्षा करें।
  3. वास्तव में डेटा ट्रांसफर।

3 के लिए लिया गया समय डेटा के ब्लॉक के आकार पर निर्भर करता है, लेकिन 1 और 2 के लिए लिया गया समय अनुरोध के आकार से स्वतंत्र है।

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

IOPs का आंकड़ा उस मामले का प्रतिनिधित्व करता है, जहां डेटा के ब्लॉक बहुत छोटे होते हैं, इसलिए अधिकांश समय शीर्षों की तलाश करने और प्लैटर्स के घूमने का इंतजार करने में व्यतीत होता है।

कई कार्यभार के लिए ब्लॉक पर्याप्त रूप से छोटे होते हैं कि स्थानांतरित किए जाने वाले ब्लॉक की संख्या ब्लॉकों के आकार की तुलना में कहीं अधिक महत्वपूर्ण होती है।


2

दो प्रकार की अड़चनें हैं जिन्हें आप IO संस्करणों (या वास्तव में IO) पर अनुभव कर सकते हैं।

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

यूनिटकोस्ट * आकार + ओवरहेड। एक पंक्ति का समीकरण।

यदि यूनिटकॉस्ट बड़ा है, या आकार बड़ा है, तो यह इन संस्करणों के आसपास चार्ज करने के लिए समझ में आता है, जैसे कि मोबाइल फोन नेटवर्क, दूसरी तरफ कभी-कभी ओवरहेड अधिक महत्वपूर्ण होते हैं।

आप स्वयं इसका एक सरल प्रयोग कर सकते हैं, कुछ 1GB फ़ाइलों के साथ एक निर्देशिका बना सकते हैं (या जो भी व्यावहारिक है, कुछ ऐसा जो काफी बड़े इसे पढ़ने / लिखने में कई सेकंड लेता है), और फिर एक मिलियन 100 बाइट फ़ाइलों के साथ एक फ़ोल्डर बनाएं (नोट, डेटा का 0.1GB) छोटे सामान के लिए फ़ाइलों की संख्या।

मुझे लगता है कि अमेज़ॅन दोनों चार्जिंग मॉडल के बारे में जानते हैं और उन्होंने केवल एक बेहतर पाया है जो उनके बुनियादी ढांचे की क्षमताओं का प्रतिनिधित्व करता है।

IOP के आकार की एक सीमा होती है जो मोटे तौर पर ammount से संबंधित होती है, वैसे भी स्टोर "चक्र" में स्थानांतरित हो सकता है, इस प्रकार बड़े अनुरोध अभी भी कई IOPS की लागत को समाप्त करते हैं।

IOPS और लागत के बारे में खुद अमेज़न से यहाँ एक अच्छा टुकड़ा है, और 'बचत' वे अनुकूलन के माध्यम से गुजरती हैं

मैं / हे चरित्र और निगरानी

यह सब नहीं पढ़ा, लेकिन यह दिलचस्प लग रहा है, अगर आप इस क्षेत्र के बारे में उत्सुक हैं।


2

आपके सवाल का जवाब दे रहा हूं

"जब मैं एक IOPS नंबर देखता हूं, तो मुझे कौन सी नई जानकारी मिलती है, जिससे मुझे एक थ्रूपुट (MB / s) नंबर नहीं दिखाई देगा?"

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

IOPS * फ़ाइल का आकार = थ्रूपुट

भंडारण परीक्षण फ़ाइल आकार और कतार की गहराई के आधार पर विभिन्न संख्या में IOPS उत्पन्न कर सकते हैं। कतार की गहराई = 1 या 2 पर, नियंत्रक कैशिंग का लाभ नहीं उठाएगा, जबकि कतार की गहराई 32, 256, 512 संख्या में कई बार बढ़ती है और बहुत कुछ नहीं बदलती है। फ़ाइल आकार 128KB IOPS की गणना 4KB फ़ाइलों के बगल में कम हो सकती है, लेकिन थ्रूपुट - उच्चतर।

भंडारण के प्रदर्शन का मूल्यांकन करने का सबसे अच्छा तरीका कई अलग-अलग ब्लॉक आकार और कतार की गहराई पर IOPS और थ्रूपुट परीक्षणों की तलाश करना है।


मेरा मानना ​​है कि आप IOPS को थ्रूपुट के साथ भ्रमित कर रहे हैं ... थ्रूपुट निरंतर पहुंच का एक पर्याय नहीं है, लेकिन कुल एमबी / एस भंडारण एक निश्चित समय पर प्रक्रिया करने में सक्षम था .... इसलिए जब आप एचडीडी और कहते हैं SSD में समान प्रवाह होगा, यह निरंतर पहुंच के लिए है ... जैसा कि यादृच्छिक अभिगम के लिए प्रवाह होता है ... वैसे ही समय की मांग के कारण सामान्य रूप से HDD के लिए बहुत कम है।
mFeinstein

इसलिए आपको अपने उत्तर में यह शामिल करना चाहिए कि आप शुरुआत में निरंतर पहुंच और अंत में यादृच्छिक अभिगम का उल्लेख कर रहे हैं, क्योंकि IOPS यादृच्छिक अभिगम का पर्याय नहीं है ... बस जब यह IOPS को एक के रूप में उपयोग करने के लिए अधिक समझ में आता है। माप
mFeinstein

@mFeinstein मैंने उत्तर संपादित कर लिया है, एक नज़र।
यूजीन

1

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

क्लासिक हार्ड ड्राइव के साथ, कुल्हाड़ियों की संख्या आपका सीमित कारक है, क्योंकि सिर को प्रत्येक ड्राइव पर भौतिक रूप से स्थानांतरित किया जाना चाहिए: और यह बहुत धीमा है। SSD की बेहतर IOPS क्षमता है।

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

हालाँकि, यदि आप एक डेटाबेस को मार रहे हैं, या बहुत से समवर्ती उपयोगकर्ता हैं, तो आपको अपने स्टोरेज के विभिन्न हिस्सों को एक ही समय में IOPS स्काईक्रिटिंग के साथ एक्सेस करना होगा।

एक रिलेशनल डेटाबेस पर समानांतर में 10 पंक्तियों को अपडेट करने से सैकड़ों IO उत्पन्न हो सकते हैं: इंडेक्स पढ़ना, डेटा पढ़ना, लॉगफ़ाइल को जोड़ना, इंडेक्स और डेटा को अपडेट करना। अधिकांश ऑपरेटिंग सिस्टम और डेटाबेस जब संभव हो तो IOs को कैशिंग और विलंबित करके IOs की संख्या को सीमित करने की बहुत कोशिश करते हैं।


1

मैं अपने स्वयं के प्रश्न का उत्तर दूंगा क्योंकि मुझे लगता है कि अधिकांश उत्तर विषय से बहुत दूर चले गए और उत्तर बहुत सरल हो सकता है:

यदि आप अपने स्टोरेज डिवाइस को केवल थ्रूपुट में देखते हैं, तो आपको याद हो सकता है कि क्या चल रहा है ... यदि कम थ्रूपुट (कम MB / s) है तो आपके पास एक धीमा डिवाइस हो सकता है या HDD या किसी अन्य डिवाइस में बहुत अधिक रैंडम एक्सेस हो सकता है। यह यादृच्छिक रूप से अच्छी तरह से संभाल नहीं करता है।

IOPS में देख कर और प्रत्येक I / O ऑपरेशन के चंक साइज़ को जानकर आप जान सकते हैं कि स्टोरेज डिवाइस कितने एक्सेस को हैंडल करने में सक्षम है और इन IOPS (chunk size * IOPS) का थ्रूपुट क्या है।

तो उच्च IOPS को देखकर आप यह निष्कर्ष निकाल सकते हैं कि आपका स्टोरेज डिवाइस बहुत रैंडम एक्सेस को हैंडल कर रहा है, भले ही यह लो थ्रूपुट के साथ आता हो .... या हो सकता है कि आप कम IOPS में देख रहे हों, जिसमें समान थ्रूपुट है, जिसका मतलब है कि आपका डिवाइस सिर्फ निष्क्रिय।

इसलिए IOPS देखकर हम इस बात की जानकारी प्राप्त कर सकते हैं कि वास्तव में थ्रूपुट का क्या अर्थ है, वे दोनों एक दूसरे के पूरक हैं।


IOPS = इनपुट / आउटपुट प्रति सेकंड, यह बहुवचन के बारे में नहीं है, और अनुगामी एस को छोड़ा नहीं जाना चाहिए। :)
यूजीन

1
यह बहुवचन के बारे में नहीं है, मैंने कुछ लोगों को "I / O ओपरेशन" के लिए IOP की कमी के रूप में संदर्भित किया है, जैसा कि यह लगता है ... लेकिन हाँ, इससे भ्रम पैदा हो सकता है, इसलिए मैं इसे बदल दूंगा, धन्यवाद
mFeinstein
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.