Nginx下TIME_WAIT过多的调优
查看Nginx并发状态
#netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 1259
SYN_SENT 2
FIN_WAIT1 8
ESTABLISHED 166
FIN_WAIT2 24
SYN_RECV 25
CLOSING 17
LAST_ACK 18
========================
以上参数解释:
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉
发现TIME_WAIT过多
#vi /etc/sysctl.conf
增加以下参数:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_timestamps = 1 #如果没有该项,以下几项不起作用
net.ipv4.tcp_tw_reuse=1 #让TIME_WAIT状态可以重用,这样即使TIME_WAIT占满了所有端口,也不会拒绝新的请求造成障碍 默认是0
net.ipv4.tcp_tw_recycle=1 #让TIME_WAIT尽快回收 默认0
net.ipv4.tcp_fin_timeout=30
使其立即生效:
#/sbin/sysctl -p
重新查看,发现已经降下来了
TIME_WAIT 54
SYN_SENT 5
FIN_WAIT1 12
ESTABLISHED 163
FIN_WAIT2 26
SYN_RECV 1
CLOSING 12
LAST_ACK 30
相关文章
- Nginx安全优化与性能调优
- 032_nginx配置文件安全下载
- 转载:configure执行流程(1.5.2)《深入理解Nginx》(陶辉)
- tomcat9 _ nginx AbstractProcessor.parseHost [${ip}:${port}] 是无效主 机 解决
- Nginx高级应用--------性能优化,突破C100K
- Termux设置mysql/nginx/php等服务随软件自启动
- nginx实现负载均衡
- Nginx教程(四) Location配置与ReWrite语法
- Nginx隐藏式跳转(浏览器URL跳转后保持不变) - 运维笔记
- Nginx中保持长连接的配置 - 运维记录
- 【云原生】 初体验阿里云Serverless应用引擎SAE(一),部署Nginx服务
- 查看nginx版本号的几种方法
- 【vulhub漏洞复现】CVE-2013-4547 Nginx 文件名逻辑漏洞
- Nginx 变量漫谈(八)
- nginx安装及配置支持php的教程(全)