Date: Tue, 03 Jan 2006 20:43:46 +0100 From: Pieter de Boer <pieter@thedarkside.nl> To: Zongsheng Zhang <zhang@ist.osaka-u.ac.jp> Cc: Michael Vince <mv@roq.com>, freebsd-net@freebsd.org Subject: Re: tcp performance Message-ID: <43BAD3F2.9040406@thedarkside.nl> In-Reply-To: <43BA4D6F.6060706@ist.osaka-u.ac.jp> References: <43B11DF3.8070501@ist.osaka-u.ac.jp> <43B7CC3C.4080606@roq.com> <43BA4D6F.6060706@ist.osaka-u.ac.jp>
next in thread | previous in thread | raw e-mail | index | archive | help
Zongsheng Zhang wrote: > I have confirmed that there is no problem with settings of Dummynet. > When Host-A/B uses Linux, the throughput of RTT=20ms (using Iperf) is > same as that of RTT=0ms. > > Host-A/B use FreeBSD v6.0 release. Does anyone have > experience/suggestion for achieving high throughput with FreeBSD? In June 2005, a former fellow-student and me did such tests using FreeBSD 5.4. Our test setup was the same as yours. We used three Dell Poweredge 1850's (iirc) with dual Xeon processors, PCI-X gbit 'em' interfaces and we used iperf too. Performance was terrible with high RTT's. We tried all kinds of things: SMP or UP kernels, polling (and it's settings), fiddling with HZ on the dummynet-host, lowering and raising the IP input queue maxlen, etc. In the end we pinged the sending host over it's external/non-test interface. We saw enormous packet loss and latency up to 5 -seconds-. This lead us to believe the TCP or socket buffer code (but probably the former, since the socket buffer is appended to using a simple tail pointer) was that inefficient that the kernel wasn't doing much else than sending TCP packets. Sadly, we did not have any time to research it any more. Perhaps Andre Opperman can shed some light on this, seeing as he's hacking away at the TCP/IP code now.. In any case, when his work is committed, you should have a lot more performance :) -- Pieter
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43BAD3F2.9040406>