On Thu, Nov 20, 2008 at 1:10 PM, Dan McDonald <[EMAIL PROTECTED]> wrote:
> shell(~)[0]% ndd -get /dev/tcp tcp_xmit_hiwat
> 49152
> shell(~)[0]% ndd -get /dev/tcp tcp_recv_hiwat
> 49152
> shell(~)[0]%
>
> Why are our TCP window sizes by default so small?  Many transactions are
> performed these days over either long-distances, with latency-inducing
> encryption from IPsec or some VPN middlebox/middleware, or worse, with one or
> more layers of latency-inducing middleboxes like NATs in between.

And even between machines in a well-connected data center, 48K is too
small.  If you take a look at pretty much any recent published
benchmark that deals with multi-tier applications, tcp_*_hiwat are
tuned.  For example:

http://www.spec.org/jAppServer2004/results/res2007q3/jAppServer2004-20070702-00070.html#J2EE_AppServer_HW_0

ndd -set /dev/tcp tcp_conn_req_max_q 16384
ndd -set /dev/tcp tcp_conn_req_max_q0 16384
ndd -set /dev/tcp tcp_xmit_hiwat 131072
ndd -set /dev/tcp tcp_recv_hiwat 131072
ndd -set /dev/tcp tcp_naglim_def 1

Similar settings are common across many vendors' default tuning
recommendations for Solaris.  Getting rid of the need for such tuning
recommendations would be a big help, particularly to prevent vendors
from making bad recommendations.

Y'wanna know what happens to a Solaris system when a sysadmin blindly
implements "set maxusers = 32" per vendor recommendations?  :)

-- 
Mike Gerdts
http://mgerdts.blogspot.com/
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to