I'm trying to tune my main amd64 system, which is router, firewall, NFS server and mail server for my home network, and needs a lot more mbufs than the default configuration allows. Oh, and it's also a database server, and an OpenVPN connection point for three clients. And it runs the MooseFS distributed file system. Hey, it has 8GiB of RAM! :)
At the moment, I'm seeing quite reasonable behavior with this: kern.sbmax=4194304 kern.somaxkva=134217728 kern.mbuf.nmbclusters=262144 net.inet.tcp.sendbuf_max=1048576 net.inet.tcp.recvbuf_max=1048576 net.inet.tcp.sendspace=262144 net.inet.tcp.recvspace=262144 net.inet.udp.sendspace=262144 net.inet.udp.recvspace=262144 However, I can't find anything that really tells me what the relationship between the first five of these is. Does it make sense to have sbmax greater than the sum of sendbuf_max and recvbuf_max? Should somaxkva rather be nmbclusters * mclbytes (536870912, or four times what it is now)? Any pointers to good reading material would be appreciated, too! -tih -- It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong. -Richard Feynman
