network perf : em driver ?

Patrick Proniewski patpro at
Fri Jan 12 01:27:51 PST 2007


I'm the happy owner of a Tyan Tiger i7520SD motherboard, sporting two  
ethernet ports using a Intel 82571EB GbE controller and running  
FreeBSD 6.2 RC1. FreeBSD uses the em driver for this ports:

dmesg excerpt:
em0: <Intel(R) PRO/1000 Network Connection Version - 6.2.9> port  
0x2000-0x201f mem 0xd8020000-0xd803ffff,0xd8000000-0xd801ffff irq 16  
at device 0.0 on pci3

ifconfig output:
         inet netmask 0xffffff00 broadcast
         ether 00:e0:81:42:e3:aa
         media: Ethernet autoselect (1000baseTX <full-duplex>)
         status: active

The box uses its 100baseT fxp driven eth port for internet access,  
and shares this access with a Mac OS X plugged on the em0 interface.  
I've set up pf with firewall and nat rules to act as a gateway. Both  
machines are in "Ethernet autoselect (1000baseTX <full-duplex>)" and  
linked with a direct ethernet wire.

File transfert through em0 looks quite slow : at best 17 MB/s (scp  
gives better results than http, tested with a 120MB file)
File copy, from one HDD to another or from one HDD to /dev/null,  
ranges from 30 to 48 MB/s on the FreeBSD side (SATA HD).

I would like to know if there is a good method to find the bottleneck  
and to get rid of it. How comes my GbE is so slow ?



More information about the freebsd-performance mailing list