10G इथरनेट के माध्यम से सांबा की तुलना में ओपन-इस्की दो बार धीमा क्यों लिखा गया है?


9

अपने स्थानीय फ़ाइल सर्वर पर मैंने 7x HDD ड्राइव पर 6 छापे हैं।

dd if=/dev/zero of=tempfile bs=1M count=2048 conv=fdatasync

स्थानीय गति परीक्षण मुझे 349 एमबी / एस की गति देता है।

SSD (> 2Gb / s पढ़ने की गति) से सांबा को रिमोट लिखता है जो मुझे 259 एमबी / एस लिखता है। लेकिन रिमोट iSCSI ड्राइव पर लिखता है (Win10 iSCSI आरंभकर्ता पर) मुझे मात्र 151 एमबी / एस लिखता है।

raid6 config - 128K chunk size, stripe_cache_size = 8191. SSD (सैमसंग 860 PRO, 4096K बिटमैप चंक) पर इरादा बिटमैप लिखें।

विकल्पों के साथ घुड़सवार ऐरे: rw,noatime,nobarrier,commit=999,stripe=128,data=writeback

open-iscsi setup: target 4Tb फाइल पर आधारित है।

कोई भी संकेत क्यों iSCSI लिखने पर सांबा की तुलना में धीमी है? कैसे iSCSI गति लिखने के लिए सुधार के बारे में कोई संकेत?

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

साइड नोट के रूप में पुराने ietd iSCSI लक्ष्य में राइट-बैक मोड (उपयोग करने IOMode=wb) को सक्षम करने की क्षमता थी और निरंतर लिखने की गति बहुत तेज थी। दुर्भाग्य से ऐसा प्रतीत होता है कि वर्तमान में यह अप्राप्त है।


2
नेटवर्क कैसा है? 10GigE? सर्वर OS संस्करण, कर्नेल संस्करण क्या है? Iscsi लक्ष्य और संस्करण क्या है? ietd, scst या lio? ओपन-इस्की केवल एक सर्जक प्रदान करता है, एक लक्ष्य नहीं ... आप लेखन गति को मापने के लिए क्या उपयोग कर रहे हैं? लक्ष्य पर प्रयोग की जाने वाली फाइलसिस्टम क्या है?
वज़ोक्स

विंडोज 10 में, क्यूआईसी एनआईसी से हटा दिया गया?
yagmoth555

2
आपके iSCSI लक्ष्य और किसी भी समायोजित नेटवर्क ट्यूनबलों के विन्यास को पोस्ट करना भी इस मामले में विवेकपूर्ण होगा। आप एक आधुनिक लक्ष्य के साथ लाइनक्स क्लाइंट पर एक ओपन-इस्की सर्जक के साथ परीक्षण पर भी विचार कर सकते हैं, एक ही लक्ष्य का उपयोग करते हुए सर्जक के बीच स्पष्ट तुलना देने के लिए, क्योंकि मौजूदा परीक्षण विंडोज सर्जक द्वारा बहुत अधिक संकुचित हो सकता है। अधिक डेटा == अधिक बेहतर।
स्पूलर

1
लेकिन जहां तक वास्तविक प्रश्न का सवाल है: iSCSI और सांबा बहुत अलग हैं, और आप सांबा का उपयोग करते समय VFS कैशिंग लेयर का उपयोग कर रहे हैं जो एक नंगे ब्लॉक डिवाइस में मौजूद नहीं है। मैं समझता हूं कि आप प्रदर्शन के अंतर से आश्चर्यचकित हैं, लेकिन क्या आप इस तुलना के बारे में अधिक परवाह करते हैं, या अपने नेटवर्क को संतृप्त करने के लिए iSCSI प्राप्त कर रहे हैं? यदि iSCSI आपकी मुख्य चिंता है और सांबा का प्रदर्शन संदर्भ के लिए एक मामूली विवरण है, तो आप उस अधिक स्पष्ट (और शायद बेहतर उत्तर प्राप्त करने के लिए) प्रश्न को संपादित कर सकते हैं।
स्पूलर

आपने परीक्षण के लिए एक विंडोज 10 का उपयोग किया था, लेकिन मुझे कहीं भी उपयोग की जाने वाली मशीन का कोई विवरण नहीं दिखता है। (और क्यों इस तरह के परीक्षण के लिए एक Windows क्लाइंट OS का उपयोग कर?)
yagmoth555

जवाबों:


6

सबसे पहले, दोहरी समता गणना के कारण RAID-6 समस्या है। दूसरे, आप एमएस iSCSI पहल में दो बार iSCSI लक्ष्य कनेक्ट कर सकते हैं, RR या Least Queue Depth को सक्षम कर सकते हैं (दुर्भाग्य से, Win10 मल्टीथैटिंग का समर्थन नहीं करता है, इसलिए आप इसे इसके बजाय विंडोज सर्वर से जांच सकते हैं)।

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

https://www.starwindsoftware.com/starwind-virtual-san#Hyper-V


2
RAID 6 हार्डवेयर में है - सॉफ्टवेयर नहीं। यह लगभग 20 वर्षों से प्रदर्शन का मुद्दा नहीं है।
निल्स

RAID-6 समस्या है? समानता की गणना प्रोटोकॉल की परवाह किए बिना होती है।
डैनियल

2
RAID6 एक समता गणना के कारण धीमा नहीं है, लेकिन एक तथाकथित "राइट होल" के कारण पढ़ा-संशोधित-लेखन समता RAID प्रकृति का परिणाम है।
बैरोनसमीदि १

3
"छापे 6 हार्डवेयर में है - सॉफ्टवेयर नहीं। यह अब लगभग 20 वर्षों से एक प्रदर्शन का मुद्दा नहीं है। - Nils Mar 21 at 10:05" -> यह बस सच नहीं है :( इसे पढ़ें -> theithollow.com/
2012/03/21

1

iSCSI का उपयोग ब्लॉक स्तर पर किया जाना चाहिए, आपका सेटअप विवरण ऐसा लगता है जैसे आप किसी फ़ाइल-सिस्टम का उपयोग कर रहे हैं, उस पर एक फ़ाइल रख रहे हैं और फिर इस फ़ाइल को iSCSI ब्लॉक परत के रूप में चला रहे हैं।

यह आदर्श होने से बहुत दूर है, और निश्चितता गति की तुलना के लिए सेटअप नहीं है। अंतरिक्ष को खंडित करने और iSCSI के लिए ब्लॉक लेयर पर रहने के लिए raid6 के शीर्ष पर lvm का उपयोग करने का प्रयास करें, या सीधे rSC6 का उपयोग iSCSI डिवाइस के रूप में करें।

आपके वर्तमान सेटअप में, डेटा को नेटवर्क के माध्यम से स्थानांतरित किया जाता है, फाइल सिस्टम में एक फाइल को मारते हुए, जो कि (सबसे अधिक संभावना है) इस प्रकार के वर्कलोड के लिए अनुकूलित नहीं है, और साथ ही अन्य प्रक्रियाओं के साथ साझा किया जाता है। ISCSI के साथ ऐसा सेटअप करना संभव है, लेकिन इसे अडॉप्ट किए गए कमबैक समाधान के रूप में माना जाना चाहिए।


1

कृपया ध्यान रखें ddकि एक बहुत ही सरल बेंचमार्क है और विकृतियों से बहुत ग्रस्त है। उदाहरण के लिए, आपकाdd ज़ीरो लिख रहा है - यदि कुछ में शून्य से भरे डेटा के लिए एक विशेष मामला है (जैसे कि यह संपीड़न कर सकता है) तो आप शानदार प्रदर्शन देखेंगे लेकिन गैर-शून्य "वास्तविक डेटा" लिखने पर स्विच करें और अचानक वह प्रदर्शन गायब हो सकता है। ..

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

अफसोस की बात है कि इस तरह के एक सवाल का जवाब देने में सक्षम होने के लिए बहुत सारी संभावनाएं हैं ...

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