Date: Wed, 3 Apr 1996 13:13:59 -0800 (PST) From: "JULIAN Elischer" <julian@ref.tfs.com> To: tjeffers@nastg.gsfc.nasa.gov Cc: hackers@freebsd.org Subject: Re: Freebsd Vs. Linux Message-ID: <199604032113.NAA09818@ref.tfs.com> In-Reply-To: <3162C4ED.794BDF32@rah.star-gate.com> from "Amancio Hasty, Jr." at Apr 3, 96 10:35:25 am
next in thread | previous in thread | raw e-mail | index | archive | help
This was forwarded tous at teh FreeBSD mailing lists.. > > Karen Jefferson x2857 wrote: > > > > We are in the midst of a development project which uses alot of UDP > > and serial communications. > > > > Although our preference had been to use FreeBSD, the UDP > > performance was terrible (200 Kbps over Ethernet), and we > > kept getting ENOBUF errors which makes FreeBSD an unacceptable choice. This is amazing we routinely flood an ethernet with UDP using a 486Dx2-66 there MUST be something terribly wrong with your configuration. FreeBSD networking usually gives more than twice the throughput of The Linux networking.. See the USENIX papers from January 96. where there were two papers comparing exactly this. note that under FreeBSD, an ENOBUFS is a real indication that you should retry your send after delaying.. under LINUX the packet is silently discarded and never sent.. (though you THINK it has been sent). > > Our previous posts for possible parameters to tune didn't > > turn up anything helpful, and messages to freebsd.org haven't been > > answered yet. I haven't seen any messages.. What is your configuration and hardware? > > > > The TCP performance was the same for both Linux and FreeBSD, and UDP > > testing on all other platforms in our facility proved okay for Solaris, > > SunOS, & SCO. This in itself says that somehting is very wrong.. FreeBSD TCP is usually MUCH faster than other OS's on the same hardware.. how are you testing this? > > > > Is there anything we can do to improve the UDP performance of FreeBSD? > > Why does it care about buffering for UDP? Please respond via email > > to tjeffers@nastg.gsfc.nasa.gov. Thanks. UDP is telling you that all the packets you have asked to send have not been sent yet, but are queued, and that it has a full queue. You should allow a moment for the queue to drain a little and then retry the last send.... Linux and other OS's often just discard the packet that didn't fit in the queue. (UDP is 'unreliable' so it is OK to do this, but it is BETTER to not lose the packet.... If you are not getting anything but the best netwroking figures for FreeBSD then you have a hidden problem... some figures: (from the USENIX papers) FreeBSD 2.0.5 (2.1 and 2.2 are improved over these figures) UDP throughput on a 100MHz Pentium (loopback) packetsize FreeBSD Linux small <figures look similar on graph> 500bytes 10Mb/sec 8Mb/sec 1K 20Mb/sec 15Mb/sec 2K 28Mb/sec 15Mb/sec (yes, no change) 4K 37Mb/sec 16Mb/sec 6K 42Mb/sec 17Mb/sec 8K 47Mb/sec 17Mb/sec TCP figures: (loopback) FreeBSD 2.0.5 65Mb/sec Linux 1.2.8 25Mb/sec from larry McVoy's paper: FreeBSD pentium 133 100Mb enet.. TCP bandwidth..7.9 MBytes/sec Linux pentium90 on a 10Mb enet got 700KB/sec FreeBSD on 10Mb saturated teh net at 1.15MB/sec.. not a fair test, but indicative.. if you can only get 200K/sec you must be using: 1/ very small packets 2/ have a bad problem somewhere.. julian >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199604032113.NAA09818>