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]
