net.inet.tcp.inflight.enable:1
net.inet.tcp.inflight.debug:0
net.inet.tcp.inflight.rttthresh:10
net.inet.tcp.inflight.min:6144
net.inet.tcp.inflight.max:1073725440
net.inet.tcp.inflight.stab:20
###########################
限制TCP带宽延迟积和NetBSD的TCP/Vegas类似。
它可以通过将sysctl变量net.inet.tcp.inflight.enable设置成1来启用。
系统将尝试计算每一个连接的带宽延迟积,并将排队的数据量限制在恰好能保持最优吞吐量的水平上。
这一特性在您的服务器同时向使用普通调制解调器,千兆以太网,乃至更高速度的光与网络连接(或其他带宽延迟积很大的连接)的时候尤为重要,
特别是当您同时使用滑动窗缩放,或使用了大的发送窗口的时候。
如果启用了这个选项,您还应该把net.inet.tcp.inflight.debug设置为0(禁用调试),
对于生产环境而言,将net.inet.tcp.inflight.min设置成至少6144会很有好处。
然而,需要注意的是,这个值设置过大事实上相当于禁用了连接带宽延迟积限制功能。
这个限制特性减少了在路由和交换包队列的堵塞数据数量,也减少了在本地主机接口队列阻塞的数据的数量。
在少数的等候队列中、交互式连接,尤其是通过慢速的调制解调器,也能用低的往返时间操作。
但是,注意这只影响到数据发送(上载/服务端)。对数据接收(下载)没有效果。
调整net.inet.tcp.inflight.stab是不推荐的。
这个参数的默认值是20,表示把2个最大包加入到带宽延迟积窗口的计算中。
额外的窗口似的算法更为稳定,并改善对于多变网络环境的相应能力,
但也会导致慢速连接下的ping时间增长(尽管还是会比没有使用inflight算法低许多)。
对于这些情形,您可能会希望把这个参数减少到15,10,或5;
并可能因此而不得不减少net.inet.tcp.inflight.min(比如说,3500)来得到希望的效果。
减少这些参数的值,只应作为最后不得已时的手段来使用。
############################
net.inet.tcp.syncookies:1
#########################
SYNcookies是一种用于通过选择加密的初始化TCP序列号,可以对回应的包做验证来降低SYN‘洪水‘攻击的影响的技术。
默认即是,不需修改
########################
net.inet.tcp.msl:30000
#######################
这个值网上很多文章都推荐的7500,
还可以改的更小一些(如2000或2500),这样可以加快不正常连接的释放过程(三次握手2秒、FIN_WAIT4秒)。
#########################
net.inet.tcp.always_keepalive:1
###########################
帮助系统清除没有正常断开的TCP连接,这增加了一些网络带宽的使用,但是一些死掉的连接最终能被识别并清除。
死的TCP连接是被拨号用户存取的系统的一个特别的问题,因为用户经常断开modem而不正确的关闭活动的连接。
#############################
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-62076-11.html
看到你那批样子