Zkusil jsem to tedy na svém PC ( osobním ). Konfigurace je následující:
Procesor: INTEL Core i7-2600K Quad-Core (Sandy Bridge) http://www.alza.cz/intel-core-i7-2600k- ... 201345.htm
Deska: GIGABYTE Z68X-UD3H-B3 http://www.alza.cz/gigabyte-z68x-ud3h-b3-d238181.htm
Síťové karty ( půjčil jsem si z rozestavěného serveru, zastrčené v PCIE x16 portech které vedou přímo na CPU ): 2x INTEL PRO/1000 PT Server Adapter, PCI-E x1, 1x 10/100/1000 GLAN, bulk http://www.alza.cz/sitova-karta-intel-p ... d65224.htm
Výsledky:
Při bandwidth testu ( TCP 100 spojení ) zvládají jejich limit, tj. 1000 Mbit/s full fuplex.
Zkusil jsem tedy jít do malých packetů, tj. 300 bajtů a dostal jsem se na 305K ( pouze forward z jedné síťovky na druhou )
Při kombinaci 60 000 spojení na portech 5000-65000, UDP, TCP a k tomu nat to vytáhlo 354 Mbit/s. Zkoušel jsem ještě přidat 1000 pravidel v queue simple a výkon spadl na 273 Mbit/s.
Update:
Zkusil jsem ty karty přendat do PCI-e které je přes DMI na jižním můstku a výsledky jsou úplně stejné, vždy to nerozdýchá CPU kvůli počtu IRQ takže nevím co Kryštof reší. Koukal jsem do specifikace chipsetu Z68 Express a DMI má propustnost 20 Gb/s.
Update 2:
Na základě požadavků testu na linuxu připravuji test na x64 kernelu s preemtion mode server, RPS, multiqueue, imq, power management na performace apod....
Update 3:
Tak jsem si hrál a udělal jsem nový kernel 2.6.38, nahrál nejnovější driver e1000e od intelu, nastavil CFLAGS_EXTRA=-DCONFIG_E1000E_SEPARATE_TX_HANDLER pro vytvoření front pro TX a RX zvlášť, InterruptThrottleRate nastavil na 3000 ( nastaví pevný počet interruptu za vteřinu takže 1 packet != interrupt, vytvoří latenci 0,33ms na kartě, default intelu je dynamický mezi 4000 až 20000 ) a dostal se sem:
Při bandwidth testu ( TCP 100 spojení ) zvládají jejich limit, tj. 1000 Mbit/s full fuplex.
Zkusil jsem tedy jít do malých packetů, tj. 300 bajtů a dostal jsem se na 313K tj. 940 Mbit/s pro lidi kteří říkají že to není moc

Při kombinaci 60 000 spojení na portech 5000-65000, UDP, TCP a k tomu nat to vytáhlo opět 940 Mbit/s. Vzhledem k tomu, že nevím jak se na linuxu dělají queue simple jako na MK jsem to musel udělat pomocí markování paktetů takže 1000 marků a 1000 tc pravidel 517 Mbit/s.
Myslím že Mikrotik by měl něco udělat s podporou x64, inovovat e1000e drivery a otevřít jejich možnosti nastavení. Další věc je že na MK šly při 2 kartách vytížit pouze 2 jádra, díky SEPARATE_TX_HANDLER, RPS a Multiqueue jsem zatížil všechny 4.