On Sun, Dec 04, 2011 at 01:35:33PM +0100, Sebastian Reitenbach wrote: > On Sunday, December 4, 2011 13:24 CET, Camiel Dobbelaar <c...@sentia.nl> > wrote: > > > On 4-12-2011 13:01, Sebastian Reitenbach wrote: > > > the default maximum size of the tcp send and receive buffer used by the > > > autosizing algorithm is way too small, when trying to get maximum speed > > > with high bandwidth and high latency connections. > > > > I have tweaked SB_MAX on a system too, but it was for UDP. > > > > When running a busy Unbound resolver, the recommendation is too bump the > > receive buffer to 4M or even 8M. See > > http://unbound.net/documentation/howto_optimise.html > > > > Otherwise a lot of queries are dropped when the cache is cold. > > > > I don't think there's a magic value that's right for everyone, so a > > sysctl would be nice. Maybe separate ones for tcp and udp. > > > > I know similar sysctl's have been removed recently, and that they are > > sometimes abused, but I'd say we have two valid use cases now. > > > > So I'd love some more discussion. :-) > > since they were removed, and there is this keep it simple, and too many > knobs are bad attitude, which I think is not too bad, I just bumped the > SB_MAX value. > If there is consensus that a sysctl would make sense, I'd also look into > that approach and send new patch. SB_MAX is there to protect your system. It gives a upperbound on how much memory a socket may allocate. The current value is a compromize. Running with a huge SB_MAX may make one connection faster but it will cause resource starvation issues on busy systems. Sure you can bump it but be aware of the consequneces (and it is why I think we should not bump it at the moment). A proper change needs to include some sort of resource management that ensures that we do not run the kernel out of memory.
-- :wq Claudio