在上一篇文章中我们向大家介绍了Linux操作系统下远程登录XP桌面的方法,相信大家肯定都有所了解了吧!接下来我们要继续给大家介绍一下怎样提高Linux系统的短连接负载能力,下面大家就跟着我们txwb网吧联盟的网吧系统栏目一起去看看吧!
相信大家多多少少都了解一点,在存在大量短连接的情况下,Linux的TCP栈一般都会生成大量的TIME_WAIT状态的socket。我们可以用下面的命令看到:
netstat-ant|grep-itime_wait
有时这个数目就很惊人了,在这时,我们需要修改linuxkernel的tcptimewait的时间,貌似有个sysctl参数可以使用,它是/proc/sys/net/ipv4/tcp_fin_timeout,缺省值是60,也就是60秒!
我们从网上发现,很多资料都说将这个数值设置低一些就可以减少netstat里面的TIME_WAIT状态!实际上这个说法是错的。我们发现这个数值其实是输出用的,修改之后并没有真正的读回内核中进行使用,而内核中真正管用的是一个宏定义,在$KERNEL/include/net/tcp.h里面,有下面的行:
#defineTCP_TIMEWAIT_LEN(60*HZ)/*howlongtowaittodestroyTIME-WAIT
*state,about60seconds*/
另外,这个宏是真正控制TCPTIME_WAIT状态的超时时间的。如果我们希望减少TIME_WAIT状态的数目(从而节省一点点内核操作时间),那么可以把这个数值设置低一些,一般设置为10秒比较合适,也就是把上面的修改为:
#defineTCP_TIMEWAIT_LEN(10*HZ)/*howlongtowaittodestroyTIME-WAIT
*state,about60seconds*/
然后重新编译内核,重启系统即可发现短连接造成的TIME_WAIT状态大大减少:netstat-ant|grep-itime_wait|wc-l
通常可以减少至少2/3。也能相应提高系统应对短连接的速度。看了这些,相信大家都了解了不少吧!大家如果还有什么想知道的地方可以去本站的网吧系统栏目去查找,如果找不到相关内容,可以留言一起讨论,当然如果大家有什么好的资料也可以和我们一起分享哦!
本文来源:网络整理 作者:佚名