network perf : em driver ?

Patrick Proniewski patpro at
Fri Jan 12 15:37:14 PST 2007

On 12 janv. 2007, at 23:01, Lucas Holt wrote:

> The first two things I would try beyond the sysctls mentioned would  
> be to try another network cable,

ok, added to the todo list ;)

> and view your firewall configuration on both machines very  
> carefully.  What are the specifications on the Mac?

the Mac is a dual G5 2GHz, 1.5 GB RAM, 160 GB SATA HDD, it uses ipfw  
for internet sharing purposes between its eth and its wifi interfaces:

# ipfw list
00010 divert 8668 ip from any to any via en0
65535 allow ip from any to any

the FreeBSD has 1 GB DDR2 ECC, 2 250GB SATA II HDD (but motherboard  
controler is on SATA I) and uses pf:

# pfctl -s all
nat on fxp0 inet from to any -> (fxp0) round-robin

scrub in all fragment reassemble
block return all
block return in log quick proto tcp from <sshscan> to any port = ssh
pass quick on lo0 all
[ bunch of block in/out and pass in rules applying only on fxp0, the  
external IF ]
pass in inet proto icmp all icmp-type echoreq keep state
pass in on em0 inet from to any keep state
pass out on em0 inet from any to keep state
[ few pass out rules applying only on fxp0, the external IF ]
No queue in use

> I averaged 7.5MB/s with sftp and the peak speed on the HTTP  
> transfer was only 7.1MB/s with Apache 2.2.

scp gives me 5.6 MB/s from the Mac to the FreeBSD, but HTTP gives me  
20-21 MB/s from the mac (apache 1.3) to the freebsd.

Arne's nc trick (server: nc -l 1234 > /dev/null ; client: dd if=/dev/ 
zero bs=1m | nc serverIP 1234) gives me at best 23.7 MB/s with  
freebsd as server. About the same with the mac as server.

Everything else is still to be tested.


More information about the freebsd-performance mailing list