Radek Krejča wrote on 2. 5. 2018 17:37:
bojuji s nizkou propustnosti 10G sitovek pri vetsim poctu paketu. Mam tam ixgbe
driver pro sitovky, dmesg ukazuje
ix0: <Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 3.1.13-k> mem
0xfbc00000-0xfbdfffff,0xfbe04000-0xfbe07fff irq 11 at device 0.0 on pci5
Neni problem protahnout skrze router a nat s pf 7 giga v ramci par spojeni a
paketu na stole pres iperf, ale za normalniho trafficu jde cpu do haje pomerne
brzy.
Kdyz on iperf vytvari veskrze pravidelne toky. To pak vsechno funguje
tak nejak lepe - pakety jsou takrka vsechny stejen velke, interrupt
coalescing tika jako chronometr, programovy kod je daleko
pravdepodobneji v cache - a tak vubec.
Realny traffic tak hezky nebyva.
Zkousel jsem zapnout polling, ale nezda se, ze by to melo nejaky efekt a hlavne
je rozpor v dokumentaci, v manu pro polling není ixgbe vypsana, u ixgbe odkaz
na polling je
Ja ho tam nevidim.
Kazdopadne, ixgbe ovladac pooling neumi. Neni to ale asi az takova
ztrata - polling prinasi nejvetsi efekt u "tupejch" desktopovejch karet,
ktere generuji HW preruseni s kazdym paketem. ixgbe karty maji MSI-X a
hlavne interrupt coalescing, tam by efekt pollingu nebyl zdaleka tak
videt. Pokud vubec.
Cim dalsim bych mohl jeste CPU odlehcit? top -SH mi ted ukazuje toto (nicmene
ted tam netece ani pul giga trafficu a relativne malo paketu):
12 root -92 - 0K 432K WAIT 0 1198.5 30.20%
intr{irq264: ix0:q0}
12 root -92 - 0K 432K WAIT 1 1186.4 25.87%
intr{irq265: ix0:q1}
12 root -92 - 0K 432K WAIT 3 1165.2 22.05%
intr{irq267: ix0:q3}
12 root -92 - 0K 432K WAIT 2 1169.9 16.75%
intr{irq266: ix0:q2}
12 root -92 - 0K 432K WAIT 1 720.8H 13.06%
intr{irq270: ix1:q1}
12 root -92 - 0K 432K WAIT 2 683.9H 11.01%
intr{irq271: ix1:q2}
12 root -92 - 0K 432K WAIT 3 676.3H 10.53%
intr{irq272: ix1:q3}
12 root -92 - 0K 432K WAIT 0 699.0H 8.60%
intr{irq269: ix1:q0}
Pri danem poctu paketu (a ten patrne ovlivnit nemuzes) je jednou z
moznosti dalsi zvyseni poctu paketu "na jedno preruseni". Odvracenou
stranou metody je zvyseni prumerne latence, ale to by nemuselo az tak
vadit. Ted nemam cas se podivat kde a jak se prametry interrupt
coalescingu nastavuji, ale obvykle to byva nejake sysctl.
A pak, uz si s odsupem doby nepamatuju, jake vsechny veci se s paketem
podnikaji jeste v ramci obsluhy preruseni - pokud by to bylo neco, co
lze ozelet, tak i to muze zatizeni snizit.
Jinak ale, se dvema 10Gb kartami se stejne nejspis dostavas na hranici
propustnosti PCI-X smernice. A k tomu NAT (predpokladam, ze in-kernel,
nikoliv aplikacni NATD), firewall ...
Podle me tezce narazis na moznosti jak hardware tak FreeBSD, ktere s nim
zkousi kouzlit. Nakonec ti nezbude nez udelat to co my - priznat, ze na
tohle uz standardni PC ani FreeBSD neni vhodny nastroj a poridit
profesionalni box k tomuhle designovany.
Dan
--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l