文档章节

nginx大量TIME_WAIT的解决办法(转载)

l
 lxzh504
发布于 2018/06/21 15:14
字数 366
阅读 32
收藏 4

转载自:

http://liuyieyer.iteye.com/blog/2214722?utm_source=tuicool&utm_medium=referral

 

由于网站使用nginx做的反向代理负载均衡。在没有默认的系统TCP参数情况下回导致大量的TIME_WAIT出现。



 

 终端可以下敲入

 

Shell代码  收藏代码

  1. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  

Java代码  收藏代码

  1. TIME_WAIT 8535  
  2. CLOSE_WAIT 5  
  3. FIN_WAIT2 20  
  4. ESTABLISHED 248  
  5. LAST_ACK 14  

 

Java代码  收藏代码

  1. CLOSED:无连接是活动的或正在进行  
  2. LISTEN:服务器在等待进入呼叫  
  3. SYN_RECV:一个连接请求已经到达,等待确认  
  4. SYN_SENT:应用已经开始,打开一个连接  
  5. ESTABLISHED:正常数据传输状态  
  6. FIN_WAIT1:应用说它已经完成  
  7. FIN_WAIT2:另一边已同意释放  
  8. ITMED_WAIT:等待所有分组死掉  
  9. CLOSING:两边同时尝试关闭  
  10. TIME_WAIT:另一边已初始化一个释放  
  11. LAST_ACK:等待所有分组死掉  

   解决办法 修改内核参数

  

Shell代码 

  1. vi /etc/sysctl.conf  
  2. net.ipv4.tcp_syncookies = 1  
  3. net.ipv4.tcp_tw_reuse=1 #让TIME_WAIT状态可以重用,这样即使TIME_WAIT占满了所有端口,也不会拒绝新的请求造成障碍 默认是0  
  4. net.ipv4.tcp_tw_recycle=1 #让TIME_WAIT尽快回收 默认0  
  5. net.ipv4.tcp_fin_timeout=30  
  6. /sbin/sysctl -p 让修改生效  

  在查看,已经恢复正常

Java代码 

  1. TIME_WAIT 69  
  2. CLOSE_WAIT 4  
  3. FIN_WAIT2 15  
  4. ESTABLISHED 236  
  5. LAST_ACK 1  

 

 

© 著作权归作者所有

l
粉丝 1
博文 45
码字总数 11077
作品 0
海淀
私信 提问
加载中

评论(2)

l
lxzh504 博主
有更好的解决方案吗?交流一下。我们在大并发下都是这样设置网络参数的。
h
hedashen
不是所有的场景都合适,这么玩这么调优在经过nat的时候会强制丢包
linux和windows下TIME_WAIT过多的解决办法

如果使用了nginx代理,那么系统TIME_WAIT的数量会变得比较多,这是由于nginx代理使用了短链接的方式和后端交互的原因,使得nginx 和后端的ESTABLISHED变得很少而TIME_WAIT很多。这不但发生在...

红薯
2009/06/09
7.3K
2
TIME_WAIT和CLOSE_WAIT

对于保持大量TIMEWAIT或 CLOSEWAIT状态解决办法。 服务器命令: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 显示信息: TIME_WAIT 108 CLOSE_WAIT 1021 ESTABL......

天冰
2016/02/24
231
0
TIME_WAIT 太多的解决办法

TIME_WAIT 客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口状态为TIME_WAIT.主动关闭的一方在发送最后一个 ack 后 就会进入 TIME_WAIT 状态 停留2MSL(max segment lifet...

foxidea
2012/11/24
14.5K
1
浏览器里不停的刷新网页会不停的重新建立连接吗?

大家好,浏览器里不停的刷新网页会不停的重新建立连接吗? 会不会太多的人同时不停的刷新网页,不停的建立连接,导致很多连接被丢弃,造成大量的 TIME_WAIT 连接呢。 我们做考试业务,只有到...

公孙二狗
2016/07/17
614
2
mysql 大量time wait 解决办法

今天早上一上班,有同事就反映公司好几个网站都打不开,登陆数据库 服务器(windows),发现很卡,于是重启了下服务器,进入系统后,没过一会问题依旧,查看了下系统进程,发现mysql占用率达到9...

mj4738
2011/11/03
743
0

没有更多内容

加载失败,请刷新页面

加载更多

 介绍一款优秀的通用管理权限快速开发框架

这是一套以权限管理为主的轻量化快速开发框架,配置有流程、专业表单、权限、app、企业微信等基础功能模块,在开发通用软件的效率上很有优势。 软件平台常用研发需求分析 《那些年我们一起做...

我想造火箭
27分钟前
8
0
ElasticDL:蚂蚁金服开源基于 TensorFlow 的弹性分布式深度学习系统

9 月 11 日,蚂蚁金服在2019谷歌开发者大会上海站上开源了 ElasticDL 项目,这是业界首个基于 TensorFlow 实现弹性深度学习的开源系统。 开源地址为:https://github.com/sql-machine-learni...

SOFAStack
34分钟前
4
0
CSS--渐变

一、什么是渐变 多种颜色平缓变化的一种显示效果 二、渐变的主要元素 色标:一种颜色,以及出现的位置,一个渐变至少两种色标 三、渐变的分类 1、线性渐变 以直线的方式来填充渐变色 backgr...

wytao1995
49分钟前
13
0
Java通过模板生成PDF再转换为图片

1、添加maven依赖 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13.1</version></dependency><dependency> <g......

醉美閑聖
56分钟前
5
0
SpringBoot-MVC RequestBody中LocalDateTime的自适应配置

请求的json报文中可能会出现 一下几种: ['2019-01-01','2019-01-01 12:03:34','20190101120334'] 但是接收的Request实体类日期字段是LocalDateTime类型 LocalDateTime applyDate; 希望的情况......

汉堡OSC
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部