Date: Fri, 1 Nov 2002 11:04:32 -0500 From: Fran Lawas-Grodek <Fran.Lawas-Grodek@grc.nasa.gov> To: Luigi Rizzo <rizzo@icir.org> Cc: Cindy.Tran@grc.nasa.gov, freebsd-net@FreeBSD.ORG, Mark.Allman@grc.nasa.gov Subject: Re: Problem in High Speed and Long Delay with FreeBSD Message-ID: <20021101110432.D3259@grc.nasa.gov> In-Reply-To: <20021031150217.A35590@carp.icir.org>; from rizzo@icir.org on Thu, Oct 31, 2002 at 03:02:17PM -0800 References: <20021031135601.B23802@grc.nasa.gov> <20021031150217.A35590@carp.icir.org>
next in thread | previous in thread | raw e-mail | index | archive | help
These are our sysctl settings: kern.ipc.maxsockbuf=4194304 net.inet.tcp.sendspace=3125000 net.inet.tcp.recvspace=3125000 net.inet.ip.intr_queue_maxlen=500 nmbclusters=32768 After reading your suggestion, we were able to achieve a slightly better throughput from 32Mbps on the 250ms delayed network, to 46Mbps overall throughput, by increasing the -l buffer length from 1024 to 8192 bytes. Increasing the above intr_queue_maxlen from the default 50 to 500 also helped a bit. Our time sequence plot now shows a sender buffer window of 1.5MB being used, from the 1MB of the earlier tests. (BTW, a typo in the my posted ttcp example -- "-b" should be "-b 3125000", not "-b 312500".) We still do not understand why we cannot not get a better window usage of our requested socket buffer of 3MB, a better throughput of 60+Mbps. Any other thoughts? Fran Lawas-Grodek Cindy Tran NASA Glenn Research Center ________________________________________________________________ Frances J. Lawas-Grodek | NASA Glenn Research Center | phone: (216) 433-5052 21000 Brookpark Rd, MS 142-4 | fax : (216) 433-8000 Cleveland, Ohio 44135 | email: fran@grc.nasa.gov ________________________________________________________________ On Thu, Oct 31, 2002 at 03:02:17PM -0800, Luigi Rizzo wrote: > you might want to have a look at the sysctl variable > kern.ipc.sockbuf_waste_factor too. > > Remember that memory is charged to socket buffers depending on how > many clusters are allocated, even if they are not fully used. > E.g. in your example you are probably doing 1KB writes each of > which consumes a 2KB cluster plus a 256byte mbuf, so no > matter what you will never manage to reach more than (roughly) > a window larger than kern.ipc.maxsockbuf/2. > > The max raw amounf of memory allocated in a socket buffer is > typically > > min( tcp_{send|recv}buf * kern.ipc.sockbuf_waste_factor, > kern.ipc.maxsockbuf) > > and probably you are hitting the roof on the second one. > > cheers > luigi To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021101110432.D3259>