time_wait的内核调优

简介:
#查看连接状态汇总
netstat -n|awk '/^tcp/{++gyk[$NF]}END{for(a in gyk)print a,gyk[a]}'    #变量a不能替换为别的(比如i)
TIME_WAIT    10046
ESTABLISHED     158

#解决timewait过多的问题
1.设置超时时间
2.重用
3.系统对此状态回收

#如果socket由本端要求关闭,这个参数决定它保持在FIN-WAIT-2状态的时间(也就是自己收到第四次断开的等待时间)
net.ipv4.tcp_fin_timeout = 2
#开启重用,允许将TIME-WAIT socket重新用于新的TCP连接,默认为0(关闭)
net.ipv4.tcp_tw_reuse = 1
#开启TCP连接中TIME-WAIT sockets的快速回收
net.ipv4.tcp_tw_recycle = 1
#开启SYN Cookie。当出现SYN等待队列溢出时,启动cookies来处理,可防范少量SYN攻击
net.ipv4.tcp_syncookies = 1
#设置长链接时间
net.ipv4.tcp_keepalive_time = 1200
#用于向外连接的端口范围
net.ipv4.ip_local_port_range = 4000 65535
#设置SYN队列的长度
net.ipv4.tcp_max_syn_backlog = 16384
#系统同时保持TIME_WAIT状态的socket的最大数量,如果超过这个数字,TIME_WAIT将被立即清除,并打印警告信息(web服务器5000-30000,分发和缓存可以调大一些)
net.ipv4.tcp_max_tw_buckets = 30000
#路由缓存刷新频率
net.ipv4.route.gc_timeout = 100
#三次握手第一次握手失败的重连次数
net.ipv4.tcp_syn_retries = 1
#三次握手第二次握手失败的重连次数

net.ipv4.tcp_synack_retries = 1



本文转自 msj0905 51CTO博客,原文链接:http://blog.51cto.com/sky66/1686724

相关文章
|
6月前
|
Linux
进程等待(wait和wait函数)【Linux】
进程等待(wait和wait函数)【Linux】
104 0
|
11月前
|
网络协议 Cloud Native
为什么需要 TIME_WAIT 状态
为什么需要 TIME_WAIT 状态
为什么需要 TIME_WAIT 状态
|
6月前
|
调度
FreeRTOS深入教程(空闲任务和Tick中断深入分析)
FreeRTOS深入教程(空闲任务和Tick中断深入分析)
281 0
|
存储 缓存 固态存储
Linux系统之Wait CPU time解析
上篇文章我们简要解析了用户CPU时间相关概念及应用实践,具体可参考链接🔗: Linux系统之User CPU time解析。 回顾之前的内容:在Linux操作系统中,通常采用8个不同的指标来研究Linux / Unix操作系统中的CPU消耗:用户CPU时间(us)、系统CPU时间(sy)、良好的CPU时间(ni)、空闲CPU时间(id)、等待CPU时间(wa)、硬件中断CPU时间(hi),软件中断CPU时间(si),被盗CPU时间(st)。在本文中,我们主要针对“等待CPU时间”进行解析。
212 0
Linux系统之Wait CPU time解析
|
测试技术 开发者
压测场景下的 TIME_WAIT 处理
压测场景下的 TIME_WAIT 处理
压测场景下的 TIME_WAIT 处理
|
弹性计算 网络协议 Java
记一次time_wait & close_wait的讨论总结
记一次time_wait & close_wait的讨论总结
记一次time_wait & close_wait的讨论总结
|
监控 Java Linux
Load高,CPU idle很高,这情况太诡异了
# Load很高,CPU使用率很低的诡异情况 > 第一次碰到这种Case:物理机的Load很高,CPU使用率很低 ### 先看CPU、Load情况 如图一: vmstat显示很有多任务等待排队执行(r)top都能看到Load很高,但是CPU idle 95%以上 ![image.png](http://ata2-img.cn-hangzhou.img-pub.aliyun-i
11489 0
|
网络协议 测试技术 Go