内核编辑升级(1)

内核编辑升级(1)

ID:12074756

大小:177.23 KB

页数:7页

时间:2018-07-15

内核编辑升级(1)_第1页
内核编辑升级(1)_第2页
内核编辑升级(1)_第3页
内核编辑升级(1)_第4页
内核编辑升级(1)_第5页
资源描述:

《内核编辑升级(1)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux内核参数修改,减少TCP连接中的TIME-WAIT:Linux系统下,TCP/IP连接断开后,会以TIME_WAIT状态保留一定的时间,然后才会释放端口。当并发请求过多的时候,就会产生大量的TIME_WAIT状态的连接,无法及时断开的话,会占用大量的端口资源和服务器资源(因为关闭后进程才会退出)。这个时候可以考虑优化TCP/IP的内核参数,来及时将TIME_WAIT状态的端口清理掉。这里只对拥有大量TIME_WAIT状态的连接导致系统资源消耗有效,不是这个原因的情况下,效果可能不明显。使用netstat命令查TIME_WAIT状态的连接。输入一个复核命令,去查看当前TCP/I

2、P连接的状态和对应的个数:#netstat-an

3、awk'/^tcp/{++s[$NF]}END{for(ains)printa,s[a]}'这个命令会显示出类似下面的结果:TIME_WAIT63648FIN_WAIT13FIN_WAIT24ESTABLISHED184LISTEN17TIME_WAIT的个数,在这里可以看到,有6w多个TIME_WAIT,这样就占用了6w多个端口。要知道端口的数量只有65535个,占用一个少一个,会严重的影响到后继的新连接。这种情况下要调整下Linux的TCP/IP内核参数,让系统更快的释放TIME_WAIT连接。用vim打开配置文件:#vim/etc

4、/sysctl.conf然后,在这个文件中,加入下面的几行内容:    net.ipv4.tcp_syncookies=1    net.ipv4.tcp_tw_reuse=1    net.ipv4.tcp_tw_recycle=1    net.ipv4.tcp_fin_timeout=5最后输入下面的命令,让内核参数生效:#/sbin/sysctl-p简单的说明下,上面的参数的含义:net.ipv4.tcp_syncookies=1表示开启SYNCookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;net.ipv4.tcp

5、_tw_reuse=1表示开启重用。允许将TIME-WAITsockets重新用于新的TCP连接,默认为0,表示关闭;net.ipv4.tcp_tw_recycle=1表示开启TCP连接中TIME-WAITsockets的快速回收,默认为0,表示关闭;net.ipv4.tcp_fin_timeout修改系统默认的TIMEOUT时间。在经过这样的调整之后,除了会进一步提升服务器的负载能力之外,还能够防御一定程度的DDoS、CC和SYN攻击,是个一举两得的做法。此外,如果连接数本身就很多,可以再优化一下TCP/IP的可使用端口范围,进一步提升服务器的并发能力。依然是往上面的参数文件中,加入

6、下面这些配置:    net.ipv4.tcp_keepalive_time=1200    net.ipv4.ip_local_port_range=1000065000    net.ipv4.tcp_max_syn_backlog=8192    net.ipv4.tcp_max_tw_buckets=5000这几个参数,建议只在流量非常大的服务器上开启,会有显著的效果。一般的流量小的服务器上,没有必要去设置这几个参数。这几个参数的含义如下:net.ipv4.tcp_keepalive_time=1200表示当keepalive起用的时候,TCP发送keepalive消息的频度。

7、缺省是2小时,改为20分钟。net.ipv4.ip_local_port_range=1000065000表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为10000到65000。(注意:这里不要将最低值设的太低,否则可能会占用掉正常的端口!)net.ipv4.tcp_max_syn_backlog=8192表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。net.ipv4.tcp_max_tw_buckets=5000表示系统同时保持TIME_WAIT的最大数量,如果超过这个数字,TIME_WAIT将立刻被清除并打印

8、警告信息。默认为180000,改为5000。上几行的参数可以很好地减少TIME_WAIT套接字数量,此项参数可以控制TIME_WAIT的最大数量,服务器被大量的TIME_WAIT拖死。经过这样的配置之后服务器的TCP/IP并发能力又会上一个新台阶。在存在大量短连接的情况下,Linux的TCP栈一般都会生成大量的TIME_WAIT状态的socket。#netstat-ant

9、grep-itime_wait

10、wc-l可能会超过三四万。这个时候需要修

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。