Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Dec 2003 14:44:24 +0700
From:      Eugene Grosbein <eugen@grosbein.pp.ru>
To:        Clark Gaylord <cgaylord@vt.edu>
Cc:        net@freebsd.org
Subject:   Re: how to saturate 100Mbit
Message-ID:  <20031213074423.GA2249@svzserv.kemerovo.su>
In-Reply-To: <3FDAAC5B.5030008@vt.edu>
References:  <20031213054654.GA850@grosbein.pp.ru> <3FDAAC5B.5030008@vt.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031213074423.GA2249>