मैं ऐसे कम एसएमबी ट्रांसफर थ्रूपुट क्यों देख रहा हूं?


10

ठीक है, शीर्षक का अर्थ कहानी से थोड़ा अधिक है।

पृष्ठभूमि और पर्यावरण : मैं एक पुराने Ubuntu सर्वर से SMB पर एक नए विंडोज 2012 सर्वर में कई टीबी की नकल कर रहा हूं। (तकनीकी रूप से, यह कमोडिटी हार्डवेयर है, लेकिन वे यहाँ आसपास सर्वर हैं।) हर कोई एक गीगाबिट लैन पर है, और पुराने उबंटू बॉक्स में एक बंधुआ इंटरफ़ेस है। मेरा मानना ​​है कि उबंटू सर्वर में दो रोसेविल पीसीआई-ई 1x ईथरनेट कार्ड हैं और विंडोज सर्वर में एक बहुत अच्छा पीसीआई इंटेल ईथरनेट कार्ड है।

गंतव्य कंप्यूटर (विंडोज सर्वर) 4x 2TB ड्राइव पर समानता के साथ एक स्टोरेज पूल चला रहा है। यह Microsoft का नया ReFS चला रहा है। स्रोत कंप्यूटर (उबंटू सर्वर) एक सॉफ्टवेयर RAID दर्पण चला रहा है। यह अच्छा ol 'EXT4 चल रहा है।

दो सर्वर एकल गीगाबिट स्विच के माध्यम से चल रहे हैं। मैंने बिना किसी सुधार के स्रोत (उबंटू) कंप्यूटर पर बॉन्डिंग को तोड़ने का प्रयोग किया है।

समस्या : मुझे अन्य कंप्यूटरों से विंडोज सर्वर पर उचित गति से स्थानांतरित करने में कोई परेशानी नहीं है। अन्य कंप्यूटर बिना किसी कठिनाई के 50-80MB / s पकड़ सकते हैं, लेकिन उस Ubuntu सर्वर से स्थानांतरित करना 20MB / s से अधिक नहीं है। 20 एमबी / एस पर 4 + टीबी एक लंबे समय (2.3 दिनों की तरह कुछ) लेता है, और मैं सोच रहा हूं कि मैं यह पता लगाने के लिए क्या कर सकता हूं कि अड़चन कहां है।

लक्षण : दोनों कंप्यूटरों पर सीपीयू बहुत कम है, और निश्चित रूप से निषेधात्मक रूप से व्यस्त नहीं है। दोनों कंप्यूटरों पर हार्ड ड्राइव सक्रिय हैं लेकिन दलदल नहीं है, और CPU IOwait कम से कम उबंटू सर्वर पर लगभग 0% है।

मैंने 35 सेकंड के लिए एक विंडशेयर ट्रेस किया था (निश्चित रूप से यह सुनिश्चित करने के लिए पर्याप्त पर्याप्त है कि सभी एसीके नए पैकेट के लिए थे) और देखा कि कुछ चीजें थीं जो मुझे उम्मीद नहीं थीं। (1) विंडोज से उबंटू तक एसीके (और कुछ एसएमबी पैकेट) के लिए कोई चेकसम नहीं थे। हालांकि, विंडशार्क का दावा है कि यह "आईपी चेकसम ऑफलोड" के कारण हो सकता है। ठीक है, मैं वहाँ में एक बहुत अच्छा कार्ड है। मुझे लगता है कि यह संभव है कि नेटवर्क कार्ड चेकसम गणना कर सकता है। ठीक। चल रहा है ... (2) "TCP ACKed अनदेखी सेगमेंट।" यह एक मैं के साथ एक समस्या है। ACK नंबर एक स्वीकार्य सीमा के भीतर है जो मैं बता सकता हूं, और इन संदेशों के अक्सर विशाल ब्लॉक होते हैं। शायद विंडशार्क अभी बहुत धीमा है?

सारांश : स्थानांतरण गति बेकार (20 एमबी / एस गीगाबिट ईथरनेट पर) और मुझे पता नहीं क्यों। विंडसरक का दावा है कि विंडोज एसीकिंग चीजें हैं जो उबंटू द्वारा कभी नहीं भेजी गईं।

अनुमान : मेरा शुरुआती अनुमान है कि सस्ते रोसविल कार्ड स्वाइप हो रहे हैं। मेरा दूसरा अनुमान है कि सॉफ़्टवेयर RAID-जैसी चीजें एक छोर पर या दूसरे में सामान के साथ घुसा हुआ है।


2
आप उबंटू सर्वर से डेस्कटॉप पर एक (सर्वर 2012 नहीं) की नकल करने के लिए क्या गति प्राप्त करते हैं? शायद WinXP या Win7? मुझे पैकेट पर हस्ताक्षर करने और SMB के साथ सर्वर 2008 और ऊपर के साथ बड़ी समस्याएं हैं।
डोम

अद्यतन: मैंने रीबूट (कर्नेल आतंक के लिए धन्यवाद) को समाप्त कर दिया है। दुर्भाग्य से सिस्टम में अब हर बूट पर एक कर्नेल पैनिक है। मैंने नोपेपिक्स की अपनी भरोसेमंद कॉपी को निकाल दिया और ड्राइव्स को माउंट किया, और सब कुछ अब ठीक है और बांका है। अब मैं SSH की नकल कर रहा हूं और मुझे अभी भी नहीं पता है कि अड़चन कहां है। sshdKnoppix की तरफ एक प्रोसेसर का 60% हिस्सा खा रहा है। किसी भी मामले में, मेरा स्थानांतरण पूरा होने वाला है। @ डॉम: अब जब आप इसका उल्लेख करते हैं, तो मुझे याद है कि पहली बार में 30 एमबीपीएस से अधिक तेजी से उस सभी डेटा को वहां रखा गया था।
एंडी

2
@LorenzoVonMatterhorn, कृपया URL शॉर्टर्स का उपयोग करने से बचें।
क्रिस्टियन सियुपिटु

क्या आप सुनिश्चित हैं कि यह आपके डिस्क के साथ कोई समस्या नहीं है?
MariusMatutiae

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

जवाबों:


1

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

मैं इसे अक्सर लिनक्स और मैक मशीनों के साथ देखता था। उम्मीद है कि यह अभी भी मामला नहीं है।

सांबा के कॉन्फ़िगरेशन फ़ाइल में एक सॉकेट विकल्प तर्क है जहां आप सॉकेट बफर आकार को पढ़ और लिख सकते हैं। सुझाव दें कि आप दोनों को 8192 बाइट्स (8 KiB) पर सेट करें। 4 या 8 KB अक्सर समान होता है, लेकिन मैंने इसे गीगाबिट लिंक पर परीक्षण नहीं किया है।

इसके अलावा, एक बंधन लिंक से लाभ के लिए एकल टीसीपी कनेक्शन की उम्मीद न करें, ट्रैफ़िक लगभग हमेशा एक लिंक से गुजरेगा; अन्यथा आप से निपटने के लिए बहुत सारे आउट-ऑफ-ऑर्डर पैकेट के साथ समाप्त होते हैं; इसलिए कई ग्राहकों की सेवा करते समय केवल एक लोड-संतुलन लाभ की उम्मीद करें। फिर भी, आपको अलग-अलग बॉन्डिंग मोड को देखना चाहिए, और यह जानना चाहिए कि कम से कम "मोड 4" (IEEE 802.3ad) बॉन्डिंग के लिए, मूल रूप से दो ट्रांसमिटेड हैश मोड हैं, जो निर्धारित करते हैं कि किस स्लेव इंटरफेस को बाहर भेजना है। लेयर -2 हैशिंग (डिफॉल्ट) और लेयर -3 हैशिंग है। यदि गेटवे के माध्यम से अपने डेटा का थोक भेजते हैं, तो लेयर -2 हैश अच्छी तरह से वितरित नहीं करेगा, क्योंकि गेटवे का मैक पता समान होगा। इसके बजाय लेयर -3 का उपयोग करने पर विचार करें।


0

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

वैसे भी, आपके लिए यह आसान होगा कि आप नेटवर्क से जुड़ी मशीन में सिर्फ एक ईथरनेट कार्ड के साथ इसे आजमाएं।

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