how to saturate 100Mbit

Eugene Grosbein eugen at grosbein.pp.ru
Fri Dec 12 23:44:28 PST 2003


On Sat, Dec 13, 2003 at 01:06:19AM -0500, Clark Gaylord wrote:

> >Is it possible to saturate 100Mbit ethernet using FreeBSD 4.9-STABLE,
> >Pentium-133 & Intel 430VX-based motherboard (PCI-33),
> >Intel 82559 Pro/100 Ethernet (fxp) ? 
> >I tried to use sendfile(2) on /dev/zero but that does not work.
> >Then I created 8Tb holey file and used sendfile() on it.
> >That gave 100% CPU load and only 37Mbit/s on wire.
> I usually use ttcp for tcp throughput measurement.  You may not be able 
> to do 100Mbps, due to tcp-ness, but it has a udp mode as well.  Depends 
> on what you are interested in doing.  But ttcp is pretty low impact. 
> Also, when you use it, boost the buffersize; this can help performance 
> (and lower cpu hit) considerably.

Will ttcp or iperf use zero-copy mechanics like sendfile(2) or
they will make CPU load by copying from/to kernel space?

I made another attempt: set sendspace/recvspace for TCP/UDP to 65536,
mounted filesystem using NFS over UDP with -r 65536, -w 65536
and ran from NFS client:

dd if=holey-file of=/dev/null bs=10m

I've got about 30% of CPU load for the server (P-133) and less than
35mbit/s on wire.

Eugene Grosbein


More information about the freebsd-net mailing list