nginx如何处理TIMEWAIT过多?

nginx如何处理TIMEWAIT过多?在高并发短连接的TCP服务器上,当服务器处理完请求后立刻主动正常连接。这个场景下会出现大量socket处于TIME_WAIT状态。如果客户端的并发量持续很高,此时部分客户端就会显示连接不上。首先先查看tcp连接状态及数量:#netstat-n|awk‘/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}’或者#netstat-ant|awk’/^tcp/{++S[$NF]}END{for(ainS)print(a,S[a])}

大家好,又见面了,我是你们的朋友全栈君。

在高并发短连接的TCP服务器上,当服务器处理完请求后立刻主动正常连接。这个场景下会出现大量socket处于TIME_WAIT状态。如果客户端的并发量持续很高,此时部分客户端就会显示连接不上。
首先先查看 tcp连接状态及数量:

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

或者

#netstat -ant|awk '/^tcp/ {++S[$NF]} END {for(a in S) print (a,S[a])}'
#netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'

SYN居然这么高,继续追查是那些ip发出的SYN:

netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more
当出现TIME WAIT 很多的时候,可通过优化linux内核来缓解它;

处理办法:

编辑内核文件/etc/sysctl.conf,加入以下内容:

net.ipv4.tcp_syncookies = 1 #当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击
net.ipv4.tcp_tw_reuse = 1     #允许 sockets重新用于新的TCP连接
net.ipv4.tcp_tw_recycle = 1   #加快tcp的 time wait sockets的快速回收
net.ipv4.tcp_fin_timeout = 30 修改系默认的 TIMEOUT 时间(缺省值60s)

创作者:吴仔汕
欢迎大家参考,还可以提出疑问或者不同看法噢。
原创作品,转载请标明出处!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134526.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker(11)Dockerfile 中的COPY与ADD 命令「建议收藏」

    docker(11)Dockerfile 中的COPY与ADD 命令「建议收藏」前言Dockerfile中提供了两个非常相似的命令COPY和ADD,本文尝试解释这两个命令的基本功能,以及其异同点,然后总结其各自适合的应用场景。Build上下文的概念在使用dock

    2022年7月29日
  • python 数组转换为字典_char转换为string

    python 数组转换为字典_char转换为string先看下join函数:语法为:str.join(sequence)sequence–要连接的元素序列实例一:连接字符串str1=’-‘seq=(“a”,”b”,”c”)printstr1.join(seq)实例二:连接数组(数组元素为字符串)str2=’*’seq2=[“a”,”b”,”c”]printstr2.join(seq2)

    2022年10月9日
  • 如何正确安装Oracle:Oracle11g安装教程

    如何正确安装Oracle:Oracle11g安装教程前言之前安装的过程中存在隐患问题,所以导致了我把它狠心的卸载了,今天就正确的安装上我们的Oracle。怎么卸载?卸载请点这里下面我们就来看一看具体的实施步骤吧!首先开水烫毛,将脏器取出,放上葱姜蒜等香料…下…锅…不好意思,走错片场了下载没有安装包,等我给你下载呐?好吧,这次就帮你一次吧!官方下地址:甲骨文官网如果你不想忍受英文的肆虐,那么直接点下面的连接吧!win3…

    2022年7月25日
  • qq空间秒赞技术是如何实现的_微信自动秒赞

    qq空间秒赞技术是如何实现的_微信自动秒赞手机QQ空间客户端无法秒赞功能,个人建议不要使用秒赞软件。使用秒赞软件会被官方处罚,会有哪些处罚?1、QQ空间无法发布说说动态,无法评论好友说说动态。2、QQ空间被封禁无法访问3、QQ空间被永久封禁,无法解封。以上三点都是使用秒赞软件后出现的情况,强烈建议不要使用秒赞软件,使用了后果自负。…

    2022年10月28日
  • 【Struts2学习笔记(11)】对action的输入校验和XML配置方式实现对action的全部方法进行输入校验

    【Struts2学习笔记(11)】对action的输入校验和XML配置方式实现对action的全部方法进行输入校验

    2022年1月21日
  • 简单易懂的softmax交叉熵损失函数求导

    简单易懂的softmax交叉熵损失函数求导来写一个softmax求导的推导过程,不仅可以给自己理清思路,还可以造福大众,岂不美哉~softmax经常被添加在分类任务的神经网络中的输出层,神经网络的反向传播中关键的步骤就是求导,从这个过程也可以更深刻地理解反向传播的过程,还可以对梯度传播的问题有更多的思考。softmax函数softmax(柔性最大值)函数,一般在神经网络中,softmax可以作为分类任务的输出层。其实可…

    2022年6月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号