मैं एक इंटेल दोहरी बंदरगाह 82599EB 10-गीगाबिट के अपने अपेक्षित थ्रूपुट को प्राप्त करने में परेशानी हो रही हूं। मैंने कई चीजों की कोशिश की है और जानना चाहता हूं कि क्या कुछ है जो मैं कोशिश कर सकता हूं कि मैं चूक गया हूं।
मेरा हार्डवेयर विन्यास
OpenSUSE के साथ दो सर्वर और प्रत्येक में एक इंटेल ड्यूल पोर्ट 82599EB 10GbE। वे मैन्युअल रूप से स्थिर आईपी से कॉन्फ़िगर किए गए हैं और एक मशीन पर प्रत्येक पोर्ट दूसरे पर एक पोर्ट से जुड़ा हुआ है।
lspci -vv
थ्रूपुट टेस्ट
मैं परीक्षण करने के लिए iperf का उपयोग कर रहा हूं। कार्ड ixgbe द्वारा चला रहे हैं।
रिसीवर की तरफ, मैं दौड़ता हूं
iperf -s
ट्रांसमीटर की तरफ:
iperf -c 192.168.1.10 -t 20 -B 192.168.1.20
iperf -c 192.168.1.11 -t 20 -B 192.168.1.21
और मुझे अब प्रति इंटरफ़ेस लगभग 4.x Gb मिल रहा है। अगर मैं केवल एक इंटरफ़ेस चलाता हूं, तो मुझे 9.x जीबी मिलता है।
विन्यास प्रयास
मैंने एसई साइटों, और कई अन्य लेखों के आसपास देखा है। यहाँ तीन सहायक हैं जिन्हें मैंने पाया।
- नेटवर्क कनेक्टिविटी - ट्यूनिंग इंटेल® ईथरनेट एडाप्टर थ्रूपुट प्रदर्शन
- https://www.kernel.org/doc/Documentation/networking/ixgbe.txt
- http://www.redhat.com/promo/summit/2008/downloads/pdf/Thursday/Mark_Wagner.pdf (PDF)
दो चीजें जो वास्तव में मदद करती हैं:
- 9000 में MTU सेट करके जंबो फ्रेम का उपयोग करना।
- में rmem सेटिंग बढ़ाना
/etc/sysctl.conf
हालाँकि, मैं अभी भी दोनों चैनलों के लिए संयुक्त 9.5Gbe पर चल रहा हूँ। मैं सोच रहा हूं कि मुझे प्रति चैनल 9 जीबी या उससे अधिक मिलना चाहिए।
बहुत सी सफलता के बिना मैंने जिन चीजों की कोशिश की है:
- एथलूल-सी का उपयोग बीच-बीच में तालमेल बिठाने के लिए किया जाता है
- प्रवाह नियंत्रण को निष्क्रिय / सक्षम करने के लिए एथ्टूल का उपयोग किया जाता है
टिप्पणियों के अनुसार संपादन
CPU उपयोग का परीक्षण करने के लिए मैं उपयोग कर रहा हूं mpstat -P ALL 5
। संचारण सर्वर पर, मैं 61% उपयोग देखता हूं।
01:12:59 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
...
01:12:59 PM 4 0.00 0.00 61.33 0.00 0.00 9.38 0.00 0.00 29.29
यह ठीक होना चाहिए? रिसीवर पर मुझे अधिकतम 30% दिखाई देता है।
Lspci का उपयोग करते हुए, मुझे निम्नलिखित मिला है। यदि आवश्यक हो तो मैं पूर्ण आउटपुट पोस्ट कर सकता हूं, लेकिन लगता है कि यह आवश्यक pcie जानकारी दिखाता है:
प्रेषक:
1: LnkCap: Port #16, Speed 5GT/s, Width x8, ASPM L0s, Latency L0 <2us, L1 <32us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
2: LnkCap: Port #16, Speed 5GT/s, Width x8, ASPM L0s, Latency L0 <2us, L1 <32us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
रिसीवर:
1: LnkCap: Port #0, Speed 5GT/s, Width x8, ASPM L0s, Latency L0 <1us, L1 <8us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
2: LnkCap: Port #0, Speed 5GT/s, Width x8, ASPM L0s, Latency L0 <1us, L1 <8us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
X8 पर 5 G / T बहुत सही होना चाहिए?
And I am now getting around 4.x Gb per interface. If I run only one interface, I get 9.x Gb.
क्या आप सुनिश्चित हैं कि कोई अन्य अड़चनें नहीं हैं और आपकी समस्या नेटवर्क इंटरफेस है? क्या आपका सीपीयू अधिकतम या कुछ और है?