Test on 10GBE Intel based network card

Invernizzi Fabrizio fabrizio.invernizzi at telecomitalia.it
Mon Aug 3 08:46:28 UTC 2009


Hi all

I am doing some tests on a BSD system with a 10gbe Intel based network card and I have some doubts about the configuration since the performance I am experiencing looks (very) poor.

This is the system I am doing test on:



- HP 380 G5 (XEON X5420, CPU speed: 2.50GHz, BUS speed: 1333 MHz, L2 cache size: 12 MB, L2 cache speed: 2,5 GHz) with 1 quad-core installed.

- Network card: Silicom PE10G2i-LR - Dual Port Fiber (LR) 10 Gigabit Ethernet PCI Express Server Adapter Intel® based (chip 82598EB).
        Driver ixgbe-1.8.6

- FreeBSD 7.2-RELEASE (64 bit) with this options compiled in the kernel
        options             ZERO_COPY_SOCKETS        # Turn on zero copy send code
        options             HZ=1000
        options             BPF_JITTER



I worked on the driver settings in order to have big TX/RX rings and low interrupt rate (traffic latency is not an issue).



In order to tune up the system i started with some echo request tests.

These are the maximum Bandwidths I can send without loss:

- 64 byte packets: 312 Mbps (1,64% CPU idle)

- 512 byte packets: 2117 Mbps (1,63% CPU idle)

- 1492 byte packets: 5525 Mbps (1,93% CPU idle)



Am I right considering these figures lower than expected?
The system is just managing network traffic!



Now I have started with netgraph tests, in particular with ng_bpf and the overall system is going even worst.

I sent some HTTP traffic (597 bytes-long packets) and I configured an ng_bpf to filter TCP traffic out from the incoming interface (ix0).

If I use the ngctl msg to see counters on the ng_bpf node, I see extremely poor performance:



- Sending 96Mbps of this traffic I figured out 0.1% packet loss. This looks very strange. May be some counter bug?

- Sending 5500Mbps, the netgraph (not the network card driver) is loosing 21% of the number of sent packets. See below a snapshot of the CPU load under traffic load



CPU:  0.0% user,  0.0% nice, 87.0% system,  9.1% interrupt,  3.9% idle

Mem: 16M Active, 317M Inact, 366M Wired, 108K Cache, 399M Buf, 7222M Free

Swap: 2048M Total, 2048M Free



  PID USERNAME    THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND

   12 root          1 171 ki31     0K    16K RUN    2  20.2H 68.80% idle: cpu2

   11 root          1 171 ki31     0K    16K RUN    3  20.1H 64.70% idle: cpu3

   14 root          1 171 ki31     0K    16K RUN    0  20.2H 64.26% idle: cpu0

   13 root          1 171 ki31     0K    16K RUN    1  20.2H 63.67% idle: cpu1

   38 root          1 -68    -     0K    16K CPU1   1   1:28 34.67% ix0 rxq

   40 root          1 -68    -     0K    16K CPU2   0   1:26 34.18% ix0 rxq

   34 root          1 -68    -     0K    16K CPU3   3   1:27 34.08% ix0 rxq

   36 root          1 -68    -     0K    16K RUN    2   1:26 34.08% ix0 rxq

   33 root          1 -68    -     0K    16K WAIT   3   0:40  4.05% irq260: ix0

   39 root          1 -68    -     0K    16K WAIT   2   0:41  3.96% irq263: ix0

   35 root          1 -68    -     0K    16K WAIT   0   0:39  3.66% irq261: ix0

   37 root          1 -68    -     0K    16K WAIT   1   0:42  3.47% irq262: ix0

   16 root          1 -32    -     0K    16K WAIT   0  14:53  2.49% swi4: clock sio







Am I missing something?

Does someone know some (more) system tuning to have higher traffic rate supported?



Any help is greatly appreciated.



Fabrizio





------------------------------------------------------------------
Telecom Italia
Fabrizio INVERNIZZI
Technology - TILAB
Accesso Fisso e Trasporto
Via Reiss Romoli, 274 10148 Torino
Tel.  +39 011 2285497
Mob. +39 3316001344
Fax +39 06 41867287


Questo messaggio e i suoi allegati sono indirizzati esclusivamente alle persone indicate. La diffusione, copia o qualsiasi altra azione derivante dalla conoscenza di queste informazioni sono rigorosamente vietate. Qualora abbiate ricevuto questo documento per errore siete cortesemente pregati di darne immediata comunicazione al mittente e di provvedere alla sua distruzione, Grazie.

This e-mail and any attachments is confidential and may contain privileged information intended for the addressee(s) only. Dissemination, copying, printing or use by anybody else is unauthorised. If you are not the intended recipient, please delete this message and any attachments and advise the sender by return e-mail, Thanks.



More information about the freebsd-performance mailing list