हम एक प्रतिध्वनि गति भंडारण के लिए देख रहे हैं। कम बजट के कारण हमने सॉफ्टवेयर iSCSI या AoE लक्ष्य का उपयोग करने का निर्णय लिया। इससे पहले कि हम अपने उत्पादन में बदलाव लाएं, हम सर्वश्रेष्ठ प्रौद्योगिकी का चयन करने के लिए कुछ परीक्षण कर रहे हैं।
परीक्षण के लिए हम उपयोग करते हैं:
- लक्ष्य के रूप में Fujitsu Siemens RX200 S4
- सर्जक के रूप में Fujitsu Siemens RX200 S4
- NetGear 1GBit स्विच को प्रबंधित करता है
- जहाज पर एनआईसी (ब्रॉडकॉम डब्ल्यू / टीओई), एडीमैक्स एनआईसी, ब्रॉडकॉम एनआईसीएस डब्ल्यू / टीओई - सभी 1 जीबीट
- लक्ष्य सर्वर 6 2TB WD ब्लू SATA ड्राइव के साथ QLogic कंट्रोलर का उपयोग कर रहा है।
- दोनों लक्ष्य और आरंभकर्ता ऑपरेटिंग सिस्टम सभी अपडेट के साथ Ubuntu 16.04 LTS हैं। भंडारण उद्देश्य के लिए स्विच समर्पित है। हम बांड और बहुपथ परीक्षण करते हैं।
हमारी समस्या कम पढ़ने की गति है। परीक्षण के लिए हम उपयोग करते हैं dd
और एक 40-100GB फ़ाइल।
- एक लक्ष्य सर्वर पर स्थानीय पढ़ना और लिखना 300 एमबी / एस से अधिक है।
- iSCSI या AoE द्वारा सर्वर पर लिखना 200MB / s से अधिक है जो हमें संतुष्ट करता है।
- सर्वर से पढ़ना हमेशा 95-99MB / s होता है।
हमने ietd, aoetools, LIO की कोशिश की है। हमने 2 एनआईसी के बॉन्ड का उपयोग किया है: बैलेंस-आरआर और एलएसीपी, आरआर के साथ गुणा। सामान्य और जंबो फ्रेम का इस्तेमाल किया। अंत में हमने टारगेट और होस्ट (स्विच नहीं) के बीच सीधा ईथरनेट कनेक्शन भी किया।
सभी परीक्षण कम समान परिणाम देते हैं (बेशक TOE और iSCSI के बिना आम NIC का उपयोग करके 20-30% बदतर परिणाम दिए गए)।
IPerf के साथ परीक्षण नेटवर्क ने 200MB / s (2GBit) के बारे में स्थानान्तरण दिखाया। बीआईसी को लक्ष्य के साथ एनआईसी के उपयोग को देखते हुए दोनों उपकरणों (पढ़ने के लिए प्रत्येक के बारे में 50 एमबी / लेखन के लिए लगभग 100 एमबी / एस) का समान उपयोग दिखाया गया है।
जैसा कि हमारे पास कोई भाग्य नहीं था, हमने तीसरे एनआईसी (पाठ्यक्रम के दोनों पक्ष) का उपयोग करने का फैसला किया। परिणाम अजीब थे:
- 2 एनआईसी - 50 एमबी / एस प्रत्येक
- 3 एनआईसी - 33 एमबी / एस प्रत्येक
क्या लक्ष्य सॉफ़्टवेयर पर कोई सीमा है जो आउटपुट को 1GBit / s से अधिक अक्षम करती है?
हम क्या गलत करते हैं?