Érdekes jelenséggel találkoztam. Adott két szerver mind kettőben egy-egy Broadcom BCM57840 10 Gbites ethernet kártya. Direktben összekötve a kettőt kb 500 Mbit (hol több, hol kevesebb egy kicsit, de kb az 1 Gbit fele) átvitelt tudok kihozni (ipperf) ha leveszem a sebességet 1 Gbitre akkor is kb ennyi. Az érdekes az, hogy egy másik (Intel) egy gigabites kártyával összekötve hozza a kb 1Gbit/s értéket.
A kábel Cat6-os 2 méter.
Az ethtool szerint a kártyák szépen megegyeztek a 10Gbites full duplex (félduplexet nem is támaogatja) sebességben.
Kernel: 4.4.0-108
Tapasztalt valaki hasonlót vagy van ötletetek?
- 2010 megtekintés
Hozzászólások
Milyen CPU és mennyi RAM csücsül a szerverekben?
- A hozzászóláshoz be kell jelentkezni
Mindkettő van bőven. 8 magos Xeon és 32GB RAM mindkettőben.
- A hozzászóláshoz be kell jelentkezni
Induljunk a kalyhatol.
Gondolom ahol 1Gbit/s meg 500Mbit-et irtal az byte akart lenni a 10Gbit-es kartya eseten.
Milyen iperf parameterekkel mersz, tcp/udp, 1 vagy tobb szalon, mekkora window size-al?
Nincsenek interface-en nagy/novekvo mertekben eldobott csomagok, hibak (ifconfig dropped, netstat -s)?
Halokartya driver/firmware mennyire friss, valoban azt hasznalja (ethtool -i eth0)?
Halokartya parameterekbol default-ban mik vannak bekapcsolva (ethtool -k eth0), mekkora ring buffer size-t tud a kartya es mi van beallitva (ethtool -g eth0)?
Meres kozben nem-e terhel ki 1 magot interruptokkal, el vannak-e osztva interruptok tobb magra (cat /proc/interrupts , egyaltalan alapbol tobb queue-t kapcsol-e be a broadcom kartya vagy kulon kell megadni a modulnak)?
Mondjuk 2 meteren elegnek kell lenni cat6-nak is, de esetleg probaltad masik kabellel?
(Ertelem szeruen eth0 helyett megfelelo interface-t behelyettesiteni.)
- A hozzászóláshoz be kell jelentkezni
+1 és köszi. Sztem te már láttál ilyen hálózatot :) Én még nem... :(
- A hozzászóláshoz be kell jelentkezni
Azt írja:
> Az érdekes az, hogy egy másik (Intel) egy gigabites kártyával összekötve hozza a kb 1Gbit/s értéket.
Ebből számomra az derül ki, hogy ahol 1Gbit/s-et és 500Mbit/s-t ír, ott valóban arra gondolt, nem elírásról van szó.
Értelmezésem szerint a két kártya egymással összekötve 1000Base-T és 10GBase-T módban egyaránt ~500Mbit/s hasznos adatátvitelre képes, és pont az adja a dolog érdekességét, hogyha az egyik végére berak egy "sima" gigás (1000Base-T) kártyát, akkor lőn, megvan a gigabit.
Innentől az iperf paraméterek nagyjából lényegtelenek.
Ez szerintem:
- vagy hardware issue lesz (alaplap/PCIe slot nem szereti az adott kártyát, stb.)
- vagy valami beállítási probléma (MSI/IRQ/...)
- vagy retek a driver
Hogy a túloldalt GbE kártyára cserélve mitől lesz "jó" a BCM is hirtelen, az passz. Csodaszép dolog a hardver világa.
Amire én elsőre kiváncsi lennék:
1.) Alaplap és/vagy szerver típusa
2.) lspci -vv
3.) /proc/interrupts
- A hozzászóláshoz be kell jelentkezni
Ha valoban gigabitet se hozza a kartya akkor igen a kerdeseim nagyobbik resze felesleges, szamomra nem az jott le a kiirasbol es tul sok info hijan 10G-bol indultam ki.
- A hozzászóláshoz be kell jelentkezni
Alaplap: Supermicro X10DRLi
Jó ötlet volt a PCI slot. A kártya 8x PCIe 3.0, beraktam hát egy 8x PCIe 3.0 slotba és ott csinálta a fesztivált. Átraktam egy 16x 3.0 slotba és megjavult. Most még szisztematikusan cserélgetem egy ideig, mert kíváncsi vagyok.
- A hozzászóláshoz be kell jelentkezni
Biztos nem a csak fizikai csatlakozóban x8-as foglalatok egyikébe tetted?
"3 PCI-E 3.0 x8, 1 PCI-E 3.0 x4 (in x8),1 PCI-E 3.0 x16, 1 PCI-E 2.0 x4 (in x8)"
--
"After successfully ignoring Google, FAQ's, the board search and leaving a undecipherable post in the wrong sub-forum don't expect an intelligent reply."
- A hozzászóláshoz be kell jelentkezni
Az valoban szokott lenni, hogy fizikai csatlakozo x8-nak tunik, de csak x4-et tud, bar meg ha pcie 2.0 x4-be teszi is, akkor is 500Mbps -nel tobbet kellene merni tippre, mert 2GBps-et tud a v2-es x4-es is, de lehet valamit rosszul kezel az alaplap vagy a kartya ezzel.
- A hozzászóláshoz be kell jelentkezni
Nem az elsőbe tettem, hanem a másodikba ami az alaplap dokumentációja szerint 8-as, bár lehet, hogy a rajz rossz a dokumentációban. A 16-osban most jó.
- A hozzászóláshoz be kell jelentkezni
demidecode-al tudod nezni melyik pcie slot hany x-es es a benne levo kartya hany x-en megy
- A hozzászóláshoz be kell jelentkezni
Köszönöm az ötleteket, nagy részén már túl vagyok, viszont másnak is azok az ötletei, mint nekem és ez biztató.
Az infók:
>Gondolom ahol 1Gbit/s meg 500Mbit-et irtal az byte akart lenni a 10Gbit-es kartya eseten.
Sajnos nem íram el 500Mbit a mért érték, azaz kb a gigabit fele.
>Milyen iperf parameterekkel mersz, tcp/udp, 1 vagy tobb szalon, mekkora window size-al?
Az iperf paraméterekkel sokat kísérleteztem, tcp window méret több szál két irány, udp ...
Gyakorlatilag semi különbség nincs - a hardware-re vagy alacsony szintű driverre gyanakszom, mert több szál esetén szépen eloszlik ez a sávszélesség a szálak között, de a végösszeg nem változik.
Egyetlen éerdekes és megmagyarázhatatlan jelenség van az, hogy a sebesség gyakran aszimetriks, azaz a iperf -d-vel mindkét irányba mérek a két irány között 30-50% sebesség különbség lehet.
>Nincsenek interface-en nagy/novekvo mertekben eldobott csomagok, hibak (ifconfig dropped, netstat -s)?
Az interface-en a drop, error, overrun, collision mind nulla.
>Halokartya driver/firmware mennyire friss, valoban azt hasznalja (ethtool -i eth0)?
A firmware nem tudom mennyire új ezt mondja:
ethtool -i eth10f
driver: bnx2x
version: 1.712.30-0
firmware-version: bc 7.13.0 phy 1.22
expansion-rom-version:
bus-info: 0000:01:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
>Halokartya parameterekbol default-ban mik vannak bekapcsolva (ethtool -k eth0), mekkora ring buffer size-t tud a kartya es mi van beallitva (ethtool -g eth0)?
A rx ring buffer kevesebb volt a maximumnál, de maxra állítva sem változik semmi.
Beállításból van annyi, mint égen a csillag a jelenlegi itt: https://pastebin.com/fuMbQ1Zv
>Meres kozben nem-e terhel ki 1 magot interruptokkal, el vannak-e osztva interruptok tobb magra (cat /proc/interrupts , egyaltalan alapbol tobb queue-t kapcsol-e be a broadcom kartya vagy kulon kell megadni a modulnak)?
A mérés közben a processzor terhelés gyakorlatilag nulla. Az egyes interruptok szét vannak osztva a magok között a /proc/interrups szerint kb egyenletesen.
>Mondjuk 2 meteren elegnek kell lenni cat6-nak is, de esetleg probaltad masik kabellel?
Próbáltam több kábellel is kínomban cat5-tel is, hátha attól rosszabb lesz, de semmi változás.
Nem hiszem, hogy kábel gond lenne, mert akkor lenne hiba az interface-en.
Leginkább valam driver gondot sejtek a háttérben, vagy egyszerűen rossz ez a két új kártya.
- A hozzászóláshoz be kell jelentkezni
Performance tuning for Linux részt nézd végig szerintem:
http://h50146.www5.hpe.com/products/software/oe/Linux/mainstream/suppor…
--
"After successfully ignoring Google, FAQ's, the board search and leaving a undecipherable post in the wrong sub-forum don't expect an intelligent reply."
- A hozzászóláshoz be kell jelentkezni
"Az iperf paraméterekkel sokat kísérleteztem, tcp window méret több szál két irány, udp ..."
Ha csak 1 iranyban mersz akkor is 500Mbps tempo jo ki, fugg attol melyik iranyba mersz?
Mert akkor konnyen lehet valami pcie savszel keves megis, dmesg-ben vagy lspci -vv -vel keress ra milyen sebesseggel allt ossze a pcie kartya.
- A hozzászóláshoz be kell jelentkezni
Tuti a legfrissebb fw van rajtuk?
- A hozzászóláshoz be kell jelentkezni
jumbo framek nelkul necces lesz 10g sebesseget kihasznalni. a bit/s egy dolog, de a pps (packet/sec) egy masik, es altalaban ilyen sebessegeknel mar az utobbi a szuk keresztmetszet (mit bir a cpu/os/ram illetve az irq)
az se mindegy az offloading parameterek hogy vannak belove, mit csinal a kartya es mit a cpu.
- A hozzászóláshoz be kell jelentkezni
> jumbo framek nelkul necces lesz 10g sebesseget kihasznalni
Más történet egy switch/router, ahol csillió interfészen zúdulnak tonnaszámra a packetek, ott erősen érdekes lehet a pps.
Két gép esetében, ami egymással közvetlenül össze van kötve, nagyjából tökmindegy. Én teszteléshez megfogtam két ősöreg (7+ éves) ProLiant DL380 G7-et, beletettem két, manapság használtan 10e Ft alatt beszerezhető Mellanox 10GbE kártyát, összekötöttem egy DAC kábellel és minden különösebb tuning és erőlködés nélkül, sima 1500-as MTU-val azonnal stabil 9,6-9,8 Gbit/sec-et mértem iperf-fel. Csak TCP4SUM volt offloadolva, de azt is kikapcsoltam, semmi izgalom, röhögve megcsinálja. Felraktuk 9000-re az MTU-t, azon túl, hogy valós workload mellett kb. felére esett a csomagok száma (az átlagos csomagméret 3000 byte körül van) semmi szóra érdemes változás nem történt.
- A hozzászóláshoz be kell jelentkezni
Jumbo frame be van állítva (próbáltam anélkül is), gyakorlatilag nem számított. Talán ha egyszer elérem azt, hogy legalább a 10Gbit közelébe juok akkor számítani fog.
- A hozzászóláshoz be kell jelentkezni
Első körben ilyenkor dmesg, az elég sok hasznos infót szokott tartalmazni. Pl., hogy milyen módban működik a kártya.
- A hozzászóláshoz be kell jelentkezni
Az VMQ nekem mar okozott hasonlot, de mas kornyezetben. Valami nem stimmel vele a broadcom kartyakon.
- A hozzászóláshoz be kell jelentkezni
+1 a VMQ-ra!
Engem Hyper-V alatt túráztatott. Miután letiltottam, köszönte szépen, ment hibátlanul.
- A hozzászóláshoz be kell jelentkezni