MPIO के साथ मुझे किस थ्रूपुट की उम्मीद करनी चाहिए?


12

Dell PowerEdge 2950 एक स्विच पर दो 1 Gbps NIC के साथ दो 1 Gbps पोर्ट पर जा रहा है, जो बाद में चार 1 Gbps NIC के साथ NetApp पर जाता है जो एक वर्चुअल इंटरफ़ेस के रूप में मौजूद है। 24 ड्राइव, 7200k SATA, नेटऐप RAID-डीपी। मैंने प्रत्येक होस्ट NIC को Microsoft iSCSI आरंभकर्ता में MPIO का उपयोग करते हुए NetApp पर मैप किया है। SQLIO के साथ मेरा लेखन थ्रूपुट परीक्षण लगभग 200 एमबी पर उचित प्रतीत होता है, लेकिन मेरे रीड 100 एमबी के करीब हैं।

क्या मेरा लिखा मेरे लेखन की तरह 200 एमबी के करीब नहीं होना चाहिए? क्या यह एक कॉन्फ़िगरेशन समस्या है या क्या कोई मौलिक भंडारण समस्या है जो मुझे समझ में नहीं आती है?

यहाँ छवि विवरण दर्ज करें

अद्यतन: यहाँ यादृच्छिक कार्यभार के लिए IOPS हैं। हालांकि, यह समझ में आता है कि मुझे यकीन नहीं है कि लिखने के लिए 20000 क्या होगा। सैन कैश 3.2 जीबी है। SQLIO परीक्षण 25 GB फ़ाइल के विरुद्ध हैं।

यहाँ छवि विवरण दर्ज करें


3
NetApp डिवाइस पर आपका कैश क्या है? क्या आपके पास एक SAN एडमिन है जो आपके लिए कुछ मेट्रिक्स खींच सकता है? हमारे पास एक नेटएप है और रिपोर्ट और चेतावनी लॉग के संयोजन के साथ कुछ मुद्दों की पहचान करने में सक्षम है। अंततः, हमारी स्थिति एक खराब फाइबर कार्ड थी, लेकिन हमें मूल कारण की मदद करने में नेटएपी समर्थन काफी मददगार था।
swasheck

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

2
@mrdenny यह "64k ब्लॉकों में 99% IO" कहां से उत्पन्न होता है? बॉब डोर अन्यथा वेस ब्राउन के रूप में इंगित करता है । यहां तक ​​कि अगर हम उन दो व्यापक लेखों को अनदेखा कर रहे थे, तो निश्चित रूप से सामान्य ज्ञान यह बताता है कि आप 8K आईओ को एक मंच पर देखने जा रहे हैं जो 8K पृष्ठ आकार का उपयोग करता है।
मार्क स्टोरी-स्मिथ

2
@ मर्डनी माइन को तोड़ा जाना चाहिए, क्या मुझे समर्थन चाहिए? मैं यहाँ बैठ रहा हूँ डेटा फ़ाइल IO गतिविधि को प्रोसेस मॉनीटर के साथ देख रहा हूँ और जब बहुतायत में 64K पढ़ने की उम्मीद है, तो वहाँ 8K के कई और अधिक पढ़ें और निश्चित रूप से 8k के बहुत सारे हैं। लॉग गतिविधि अपेक्षित है, 512 बाइट एकल 512 बाइट से लेकर 60k तक लिखता है।
मार्क स्टोरी-स्मिथ

2
@ MarkStorey-Smith मेरे अनुभव में 8k में पढ़ता है जो आमतौर पर विखंडन से संबंधित होता है। पृष्ठों को हटाने वाले स्कैन के कारण मेमोरी ट्रैशिंग, कम पृष्ठ का जीवनकाल भी इंगित कर सकता है (यानी अधिकांश सीमा अभी भी स्मृति में है)। एक अच्छी तरह से ट्यून किए गए सिस्टम को 64k रीड्स दिखाना चाहिए। बेशक यह इस बात पर निर्भर करता है कि वास्तव में क्या गंदा है।
रेमस रूसु

जवाबों:


7

डिस्क लिखने वाले वास्तव में फाइलर पर मेमोरी (एनवीआरएएम) जा रहे हैं, बाद में डिस्क को फ्लश करने के लिए - एक बेकार फाइलर पर, ये अविश्वसनीय रूप से तेज़ होंगे, और 20,000 के iops काफी विश्वसनीय हैं (आप एसएसडी से समान गति देखेंगे) ।

दूसरी ओर, रीड्स को डिस्क से आने की आवश्यकता है जब तक कि वे पहले से ही फाइलर के कैश में नहीं होते हैं (जो कि, लेखन के विपरीत, अस्थिर मेमोरी पर हैं)।

स्पिनिंग डिस्क के लिए स्टोरेज वेंडर्स को आईओएस पर पिन करना कठिन है, लेकिन 7200RPM ड्राइव के लिए, 80-120 आईओएस काफी विश्वसनीय हैं। यह देखते हुए कि आपने शायद NetApp के RAID-DP और / या पुर्जों के लिए कुछ डिस्क खो दी है, 2,200 iops करीब है जो आप 22 डिस्क से लगभग 100 iops प्रदर्शन कर सकते हैं।

यह आपकी पढ़ने की गति की व्याख्या नहीं कर सकता है (जब आप अनुक्रमिक रीड कर रहे हैं तो आपके डिस्क 2200 पूर्ण नहीं हो सकते हैं), लेकिन यह कम से कम आपके लेखन प्रदर्शन को समझाने में मदद कर सकता है।


धन्यवाद नाथन। क्या मुझे दो एनआईसी और एमपीआईओ के साथ थ्रूपुट को दोगुना करने की उम्मीद करनी चाहिए?
हेनरी ली

1
जब आप अपने अनुक्रमिक रीड टेस्ट चला रहे हों तो क्या आप अपने फाइलर पर उपयोग की जांच कर सकते हैं? यदि यह 100% तक पहुंच जाता है, तो उन लोगों के लिए आपकी अड़चन फाइलर पर होने की संभावना है (या तो प्रत्येक डिस्क पर कॉन्फ़िगरेशन या iops सीमाओं के कारण) और MPIO / अतिरिक्त MPIO कनेक्शन कुछ भी नहीं जोड़ेंगे। आपकी लेखनी आगे बढ़ सकती है।
नाथन जॉली

5

बहुत अधिक परीक्षण और त्रुटि के बाद, हमने सोचा था कि अपेक्षित थ्रूपुट कैसे प्राप्त किया जाए।

जैसा कि ऊपर उल्लेख किया गया है, NetApp में चार भौतिक NIC द्वारा समर्थित एक वर्चुअल इंटरफ़ेस था। मेजबान के पास दो NIC हैं और मैंने MS iSCSI पहल के माध्यम से MPIO को कॉन्फ़िगर किया था ताकि प्रत्येक NIC से एक वर्चुअल इंटरफ़ेस तक एक रास्ता बने। परिणाम ऊपर दिए गए थ्रूपुट थे - 200 एमबी के करीब या दो एनआईसी की गति पर लिखी गई समझ में आता है, लेकिन रीड आधा या एक एनआईसी की गति थे।

करीब से निरीक्षण करने पर, हमारे सैन लड़के ने देखा कि यातायात केवल शारीरिक एनआईसी के माध्यम से रीड्स के लिए बह रहा था। मुझे यकीन नहीं है कि अगर हमारे अंत में एक कॉन्फ़िगरेशन की गलती थी, लेकिन दो चीजें थीं जो हमने कोशिश कीं और दोनों हमें हमारे थ्रूपुट से मिलीं। एक को चार एनआईसी द्वारा समर्थित एक वर्चुअल इंटरफ़ेस से दो वर्चुअल इंटरफेस में बदलना था, प्रत्येक को दो एनआईसी द्वारा समर्थित था। फिर एक मेजबान एनआईसी को एक वर्चुअल इंटरफ़ेस पर मैप करें। हमने जो दूसरी चीज़ की कोशिश की, वह थी "अलियासिंग" का उपयोग करने के लिए SAN कई आभासी इंटरफेस पेश करने के लिए। (मैं एक SAN लड़का नहीं हूँ, इसलिए उम्मीद है कि मैंने सही ढंग से कहा है।)

मेरा टेक-ऑफ यह है कि हमें बस जरूरत थी SAN को एक से अधिक इंटरफेस प्रस्तुत करने की ताकि पहल ने वास्तव में कई रास्तों को देखा। यहाँ अब हमारा थ्रूपुट है:

यहाँ छवि विवरण दर्ज करें


अब छोटे क्यों धीमे लिखते हैं?
जैक का कहना है कि topanswers.xyz

यकीन नहीं है, हम अभी तक यह पता नहीं लगा पाए हैं। अगर मैं इसका पता लगाऊंगा तो वापस पोस्ट करूंगा।
हेनरी ली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.