`
247687009
  • 浏览: 174593 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

nginx大量TIME_WAIT的解决办法

 
阅读更多

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



 

 终端可以下敲入

 

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 8535
CLOSE_WAIT 5
FIN_WAIT2 20
ESTABLISHED 248
LAST_ACK 14

 

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

   解决办法 修改内核参数

  

vi /etc/sysctl.conf
net.ipv4.tcp_syncookies = 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 69
CLOSE_WAIT 4
FIN_WAIT2 15
ESTABLISHED 236
LAST_ACK 1

  

   

 

 

 

  • 大小: 5 KB
0
0
分享到:
评论

相关推荐

    [线上问题] “服务端长连接与客户端短连接引起Nginx产生大量\"TIME_WAIT\"状态的线程”的问题分析解决

    本文讨论了在线上环境中,服务端长连接和客户端短连接配置不当导致Nginx服务器产生大量“TIME_WAIT”状态线程的问题,同时提供了问题的分析和解决方法。本文主要涉及的网络编程知识点包括长连接与短连接的定义和区别...

    nginx+php产生大量TIME_WAIT连接解决办法1

    当服务器出现大量TIME_WAIT连接时,这可能会导致性能下降,甚至影响服务的可用性。TIME_WAIT状态是TCP连接生命周期的一部分,用于确保数据传输的可靠性,但过多的TIME_WAIT连接会消耗系统资源,特别是端口资源。 ...

    TCP状态迁移,CLOSE_WAIT & FIN_WAIT2 的问题解决

    在 TCP 连接中,客户端和服务器端都可以处于不同的状态,例如 ESTABLISHED、CLOSE_WAIT、FIN_WAIT_1、FIN_WAIT_2、TIME_WAIT 等 trạng thái。 CLOSE_WAIT 状态是 TCP 连接中的一种状态,它表示服务器端已经收到了...

    Time-wait详解和解决方案.docx

    - **后端服务器上的`TIME_WAIT`**:由于Nginx到后端服务器的连接频繁关闭与重建,后端服务器更容易出现大量的`TIME_WAIT`状态。这可能会导致服务器性能下降,尤其是在高并发场景下。 #### 四、解决方案 针对由`...

    linux内核参数

    TCP参数的调整在提高服务器性能方面起着重要作用,特别是当服务器面临大量TIME_WAIT状态连接时。TIME_WAIT状态的连接在断开后会占用端口资源一段时间,这可能导致端口资源耗尽,影响新连接的建立。通过调整以下内核...

    nginx优化 突破十万并发1

    【Nginx优化 突破十万并发】 Nginx是一款高性能的HTTP和反向代理服务器,常用于网站高并发场景。要实现突破十万并发,关键在于合理配置Nginx的参数以及优化底层操作系统。以下是一些核心的Nginx优化策略: 1. **...

    优化Linux的内核提高服务器并发能力

    当服务器的并发连接很多时,会产生大量的TIME_WAIT状态的连接,从而占用大量的端口资源。通过对Linux内核参数进行调整,可以减少TIME_WAIT状态的持续时间,提高端口的利用率。 3. 使用高性能的Web服务器:选择适合...

    Nginx 极简教程.pdf

    在配置和运行Nginx的过程中,可能会遇到一些问题,如出现大量的TIME_WAIT连接、上传文件大小限制、请求时间限制等。对于这些问题,Nginx文档提供了相应的解决方案和参考资料,以帮助用户解决问题。 最后,Nginx的...

    Nginx性能优化指南

    - `net.ipv4.tcp_max_tw_buckets`:定义TIME_WAIT状态连接的最大数量。 - **命令示例**: ```sysctl net.core.somaxconn = 4096 net.ipv4.tcp_max_tw_buckets = 10000 ``` #### 六、超时配置优化 - **简介**...

    nginx优化.docx

    【Nginx优化详解】 Nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、高并发处理能力著称。为了最大化Nginx的性能,我们可以从多个方面进行优化,包括配置调整、内核参数优化等。以下是一些关键的优化策略: ...

    nginx优化 突破十万并发

    9. 对于内核参数的优化,例如调整net.ipv4.tcp_max_tw_buckets来减少timewait的数量,调整net.ipv4.ip_local_port_range来扩大允许系统打开端口的范围,以及启用net.ipv4.tcp_tw_recycle和net.ipv4.tcp_tw_reuse来...

    浅谈Nginx10m+高并发内核优化详解

    4. `net.ipv4.tcp_fin_timeout`:控制FIN_WAIT_2状态的持续时间,减少等待时间可提高效率。 5. `net.ipv4.tcp_max_tw_buckets`:限制TIME_WAIT套接字的数量,避免过度消耗资源。 6. `...

    分布式系统架构设计思路

    如果大量连接处于TIME_WAIT状态,会消耗系统资源,影响新连接的创建。通过调整Linux内核参数,如/proc/sys/net/ipv4/tcp_fin_timeout和/proc/sys/net/ipv4/ip_local_port_range,可以减少TIME_WAIT状态的持续时间,...

    linux+tomcat+mysql+solr调优

    该选项可以减少TIME_WAIT sockets的数量,从而降低系统的内存使用。 - `net.ipv4.tcp_fin_timeout`:设置TIME_WAIT socket的最大存活时间。根据具体的应用场景调整该值,以减少TIME_WAIT状态的socket数量。 ##### ...

    高并发nginx服务器的linux内核优化配置讲解

    3. **TIME_WAIT连接限制**:`net.ipv4.tcp_max_tw_buckets = 6000` 减少TIME_WAIT套接字的最大数量,防止服务器被大量TIME_WAIT状态的连接拖慢。 4. **Selective Acknowledgment (SACK)**:`...

    MySQL Tomcat Apache优化

    当Apache服务器面临大量TIME_WAIT状态的连接时,可能会导致新的连接请求被拒绝。解决这一问题的方法包括: - **调整TCP参数**:例如,通过设置`net.ipv4.tcp_tw_reuse = 1`允许重用处于TIME_WAIT状态的连接,从而...

    linux系统优化的相关参数参考.pdf

    9. **TIME_WAIT重用**:`sysctl -w net.ipv4.tcp_tw_reuse=1`和`sysctl -w net.ipv4.tcp_tw_recycle=1`允许在TIME_WAIT状态的socket用于新连接,减少端口耗尽。 10. **本地端口范围**:`echo "10000 65000" > /proc...

Global site tag (gtag.js) - Google Analytics