Pascal's TechBlog

Tuesday, April 26, 2005

Network Interface Card speed

I did some fast NIC benchmarking the other day, the benchmark was fairly simple, just a large (1 gB) file transfer over FTP.
When running the same benchmark a couple of times there was a variation of about 100 kB/s in the transfers, so any difference larger than that means a card is significantly faster...
I used a plain 2.6.11 kernel, without installing additional drivers, so this is 'out of the box' performance.

The results we're actually more or less what I expected:

Intel 82558B (napi)
1072693248 bytes sent in 263.30 secs (3978.6 kB/s)
1072693248 bytes received in 239.42 secs (4375.4 kB/s)

3Com 905c (tx/rx offload)
1072693248 bytes sent in 254.88 secs (4110.0 kB/s)
1072693248 bytes received in 244.73 secs (4280.4 kB/s)

RealTek 8139C (?)
1072693248 bytes sent in 266.29 secs (3933.8 kB/s)
1072693248 bytes received in 247.25 secs (4236.7 kB/s)

RealTek 8169S32 (tx/rx/tso offload) *
1072693248 bytes sent in 227.23 secs (4610.0 kB/s)
1072693248 bytes received in 221.80 secs (4723.0 kB/s)

Marvell Yukon 88E8003 (scatter/gather io) **
1072693248 bytes sent in 228.94 secs (4575.6 kB/s)
1072693248 bytes received in 222.67 secs (4704.5 kB/s)

Anyway as you can see, just about any el'cheapo GigE NIC can outperform a good quality 100 mBit ethernet NIC.

At 12 Euro's a piece the RealTek's 8169 are a real bargain!

* The 2.6.11 kernel contained a few significant additions to the r8169 driver which added to it's performance.
** Marvell(/SysKonnect) has it's own GPLed driver which might improve performance further.